【opencv】指定宽或高按比例缩放图片 & 拼接图片

指定宽或高按比例缩放图片

python 复制代码
import cv2
python 复制代码
def resize_by_ratio(image, width=None, height=None, inter=cv2.INTER_AREA):
    img_new_size = None
    (h, w) = image.shape[:2] # 获得高度和宽度
    if width is None and height is None: # 如果输入的宽度和高度都为空
        return image # 直接返回原图
    if width is None: 
        h_ratio = height / float(h) # 输入高度 / 原始高度 得到比率
        img_new_size = (int(w * h_ratio), height) # 将宽度缩放同样的比例
    else:
        w_ratio = width / float(w)
        img_new_size = (width, int(h * w_ratio))
    resized = cv2.resize(image, img_new_size, interpolation=inter)
    return resized
python 复制代码
# 绘图显示函数
def cv_show(img):
    cv2.imshow('name',img)
    cv2.waitKey(0) # 按任意键 终止窗口
    cv2.destroyAllWindows()
python 复制代码
img = cv2.imread('img1.jpeg')
img = resize_by_ratio(img,width=300)
# cv_show(img)
cv2.imwrite('img2_new.jpg',img)

拼接图片

python 复制代码
img1 = cv2.imread('start.png')
img2 = cv2.imread('record.png')
img3 = cv2.imread('end.png')
img = np.hstack((img1,img2,img3))
cv_show(img)
相关推荐
肥猪猪爸24 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
大白要努力!24 分钟前
Android opencv使用Core.hconcat 进行图像拼接
android·opencv
LZXCyrus1 小时前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
Enougme1 小时前
Appium常用的使用方法(一)
python·appium
懷淰メ1 小时前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
hummhumm1 小时前
第 22 章 - Go语言 测试与基准测试
java·大数据·开发语言·前端·python·golang·log4j
hummhumm2 小时前
第 28 章 - Go语言 Web 开发入门
java·开发语言·前端·python·sql·golang·前端框架
只怕自己不够好2 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
嵌入式大圣2 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉
每天吃饭的羊2 小时前
python里的数据结构
开发语言·python