
正文
pythoncv函数 python中cut函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
opencv-python 缺口识别
一、cv函数
1、imreadpythoncv函数:读取图片
imread(image_path, flag):
images_path:图片路径,找不到不报错
flag:
1/cv2.IMREAD_COLOR:彩色图片,图片透明性会被忽略,默认参数
0/cv2.IMREAD_GRAYSCALE:灰色图片
-1/cv2.IMREAD_UNCHANGED:包括其alpha通道
2、imwrite
imwrite(img_path_name,img)
img_path_name:保存pythoncv函数的文件名
imgpythoncv函数:文件对象
3、cvtColor
cvtColor(img,code)
img: 图像对象
code:
cv2.COLOR_RGB2GRAY: RGB转换到灰度模式
cv2.COLOR_RGB2HSV: RGB转换到HSV模式(hue,saturation,Value)
4、matchTemplate
matchTemplate(img_path, bg_path, cv2.TM_CCOEFF_NORMED)
img_path:对比图片
bg_path:背景图片
cv2.TM_CCOEFF_NORMED
```
# encoding=utf8
import cv2
import numpyas np
def show(name):
cv2.imshow('Show', name)
cv2.waitKey(0)
cv2.destroyAllWindows()
def main():
otemp ='./images/tb.png'
oblk ='./images/bg.jpg'
target = cv2.imread(otemp, 0)
template = cv2.imread(oblk, 0)# 读取到两个图片,进行灰值化处理
w, h = target.shape[::-1]
aa = target.shape
print(aa)
print(w, h)
temp ='./images/temp.jpg'
targ ='./images/targ.jpg'
cv2.imwrite(temp, template)
cv2.imwrite(targ, target)# 处理后进行保存
target = cv2.imread(targ)
target = cv2.cvtColor(target, cv2.COLOR_BGR2GRAY)# 转化到灰度
target =abs(255 - target)# 返回绝对值
cv2.imwrite(targ, target)# 重新写入
target = cv2.imread(targ)
template = cv2.imread(temp)
result = cv2.matchTemplate(target, template, cv2.TM_CCOEFF_NORMED)# 进行匹配
x, y = np.unravel_index(result.argmax(), result.shape)# 通过np转化为数值,就是坐标
print(y, x)
# 展示圈出来的区域
cv2.rectangle(template, (y, x), (y + w, x + h), (7, 249, 151), 2)
show(template)
return y, x
if __name__ =='__main__':
a, b = main()
```
相关问答
Q1: 2021-02-08 Python OpenCV GaussianBlur()函数
borderType= None)函数
此函数利用高斯滤波器平滑一张图像。该函数将源图像与指定的高斯核进行卷积。
src:输入图像
ksize:(核的宽度,核的高度),输入高斯核的尺寸,核的宽高都必须是正奇数。否则,将会从参数sigma中计算得到。
dst:输出图像,尺寸与输入图像一致。
sigmaX:高斯核在X方向上的标准差。
sigmaY:高斯核在Y方向上的标准差。默认为None,如果sigmaY=0,则它将被设置为与sigmaX相等的值。如果这两者都为0,则它们的值会从ksize中计算得到。计算公式为:
borderType:像素外推法,默认为None(参考官方文档 BorderTypes
)
在图像处理中,高斯滤波主要有两种方式:
1.窗口滑动卷积
2.傅里叶变换
在此主要利用窗口滑动卷积。其中二维高斯函数公式为:
根据上述公式,生成一个3x3的高斯核,其中最重要的参数就是标准差 ,标准差 越大,核中心的值与周围的值差距越小,曲线越平滑。标准差 越小,核中心的值与周围的值差距越大,曲线越陡峭。
从图像的角度来说,高斯核的标准差 越大,平滑效果越不明显。高斯核的标准差 越小,平滑效果越明显。
可见,标准差 越大,图像平滑程度越大
参考博客1:关于GaussianBlur函数
参考博客2:关于高斯核运算
Q2: python 中cv.namedwindow是什么意思
其本质上没有很大不同,都是创建一个窗口供显示图像
cv开头函数系列包含更多的面向对象的思想 封装的比较好,适合跟C++集成
Q3: 基于python的opencv学习——copyMakeBorder()函数
copyMakeBorder(src, srcBorder, 8, 8, 8, 8, 0, Scalar(255, 255, 255));这是c++pythoncv函数的pythoncv函数,意思是上下左右各加一行8像素的白色的边框,以此类推
Q4: 【python】opencv库中cv2.findContours()和cv2.drawContours()函数
一.查找轮廓
cv2.findContours()
[image,] contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
轮廓检索方式:
轮廓近似方法:
二.绘制轮廓
cv2.drawContours()
cv2.drawContours(img, contours, -1, (0, 0, 255), 2)
pythoncv函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python中cut函数、pythoncv函数的信息别忘了在本站进行查找喔。







