opencv函数展示2

一、像素操作与算术运算

1.cv2.split()

  1. cv2.merge()

3.cv2.add()

4.cv2.bitwise_and()

5.cv2.bitwise_or()

6.cv2.inRange()

二、仿射变换

1.cv2.getRotationMatrix2D()

2.cv2.warpAffine()

3.cv2.flip()

4.cv2.resize()

三、透视变换

1.cv2.getPerspectiveTransform()

2.cv2.warpPerspective()

四、常用插值方法

  • cv2.INTER_NEAREST: 最近邻插值

  • cv2.INTER_LINEAR: 双线性插值(默认)

  • cv2.INTER_CUBIC: 双三次插值

  • cv2.INTER_AREA: 区域插值(缩小图像时效果较好)

  • cv2.INTER_LANCZOS4: Lanczos插值

五、边界填充方式

  • cv2.BORDER_CONSTANT: 常数填充

  • cv2.BORDER_REPLICATE: 复制边缘像素

  • cv2.BORDER_REFLECT: 镜像反射

  • cv2.BORDER_WRAP: 平铺重复

图像矫正练习1.

复制代码
import cv2
import numpy as np

img = cv2.imread("../images/youhua2.png")
cv2.imshow("original image", img)

# 进行透视变换
# 1、获取透视变换矩阵
# 源图像中的四个点
src = np.array([[180, 120],
                [632, 12],
                [670, 528],
                [90, 466]], dtype="f4")

# 目标图像中的四个点
dst = np.array([[0, 0],
                [800, 0],
                [800, 640],
                [0, 640]], dtype="f4")

M = cv2.getPerspectiveTransform(src, dst)

# 2、进行透视变换
per_img = cv2.warpPerspective(img, M, (800, 640))

cv2.imshow("per_img", per_img)
cv2.waitKey(0)

运行结果:

图像矫正练习2.

复制代码
import cv2
import numpy as np

img = cv2.imread("../images/image2.png")
cv2.imshow("original image", img)

# 进行透视变换
# 1、获取透视变换矩阵
# 源图像中的四个点
src = np.array([[69, 229],
                [360, 107],
                [480, 258],
                [184, 440]], dtype="f4")

# 目标图像中的四个点
dst = np.array([[0, 0],
                [450, 0],
                [450, 330],
                [0, 330]], dtype="f4")

M = cv2.getPerspectiveTransform(src, dst)

# 2、进行透视变换
per_img = cv2.warpPerspective(img, M, (450, 330))

cv2.imshow("per_img", per_img)
cv2.waitKey(0)

运行结果:

相关推荐
回眸&啤酒鸭1 小时前
【回眸】MiMo-V2.6-Flash 多模态实时交互应用指南
人工智能
独立开发者阿乐1 小时前
什么是 GEO:让 AI 搜索引擎引用你内容的完整指南
人工智能·搜索引擎·ai搜索引擎·geo优化·ai爬虫·llms.txt·clarabbs
方知我1 小时前
AI应用-智能伴侣
人工智能·ai
开开心心就好1 小时前
视频压缩工具推荐,绿色版免安装双击即用
java·前端·人工智能·spring·智能手机·intellij-idea·excel
RockHopper20252 小时前
AI时代模型生命周期与软件资产重构:概要版
人工智能·系统架构·软件工程·ai编程·世界模型
zhuo木鸟2 小时前
我用 opencode + Qdrant 搭了五段式小说写作系统
人工智能·个人开发·ai写作·ai写小说
大模型任我行2 小时前
字节:交替蒸馏与强化学习
人工智能·语言模型·自然语言处理·论文笔记
空堂与归2 小时前
AI 与 SI(超级智能):先分清窄智能与超级智能的边界
开发语言·人工智能·gpt
奈落242 小时前
DeepSeek Harness 开源贡献手记:从 Issue 认领到 PR 合入的完整实践
大数据·人工智能·安全·搜索引擎·开源
朝朝辞暮i2 小时前
VLA 系统学习第 2 课:Behavior Cloning——机器人究竟怎么从示范中学动作?
人工智能·python·vla