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
【pythoncv函数 python中cut函数】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()
```
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:关于高斯核运算
python 中cv.namedwindow是什么意思其本质上没有很大不同 , 都是创建一个窗口供显示图像
cv开头函数系列包含更多的面向对象的思想 封装的比较好,适合跟C++集成

推荐阅读