【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)
相关推荐
刽子手发艺16 分钟前
Selenium+OpenCV处理滑块验证问题
opencv·selenium·webpack
bst@微胖子19 分钟前
Python高级语法之selenium
开发语言·python·selenium
查理零世1 小时前
【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python
python·算法·蓝桥杯
魔尔助理顾问2 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
java1234_小锋2 小时前
一周学会Flask3 Python Web开发-request请求对象与url传参
开发语言·python·flask·flask3
诚信爱国敬业友善6 小时前
常见排序方法的总结归类
开发语言·python·算法
架构默片7 小时前
【JAVA工程师从0开始学AI】,第五步:Python类的“七十二变“——当Java的铠甲遇见Python的液态金属
java·开发语言·python
小哥山水之间8 小时前
在 Python 中操作 Excel 文件
开发语言·python·excel
AomanHao9 小时前
图像质量评价指标-UCIQE-UIQM
图像处理·人工智能·计算机视觉·评价指标
MYT_flyflyfly9 小时前
计算机视觉-尺度不变区域
人工智能·计算机视觉