【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 小时前
7天没有打开OpenClaw了
python·机器学习·ai·ai编程·openclaw
woxihuan12345616 小时前
CSS怎样调整弹性项目排列顺序_使用order属性轻松控制DOM显示顺序
jvm·数据库·python
卡次卡次116 小时前
14.2:详细补充:子进程会复制什么
前端·python·php
谙弆悕博士16 小时前
【附Python源码】基于决策树的信用卡欺诈检测实战
python·学习·算法·决策树·机器学习·数据分析·scikit-learn
MATLAB代码顾问16 小时前
黏菌算法(SMA)原理详解与Python实现
开发语言·python·算法
m0_7485548117 小时前
golang如何实现数据去重处理_golang数据去重处理实现步骤
jvm·数据库·python
AI人工智能+电脑小能手17 小时前
【大白话说Java面试题】【Java基础篇】第39题:说说反射的用途及实现原理,Java获取反射(Class)的三种方法
java·开发语言·后端·python·面试
PILIPALAPENG17 小时前
第4周 Day 2:多步推理 Agent——让 Agent 学会"先想再干"
前端·人工智能·python
江南十四行17 小时前
网络编程基础:TCP/IP与Socket编程详解
网络·python·http
神明93117 小时前
mysql索引排序规则设置方法_mysqlCollation对索引影响
jvm·数据库·python