cv2模块函数学习
import cv2 as cv (下文同一用cv)
1.cv.imread()
cv.imread(filename[, flags]) -> retval
其中,参数filename表示要读取得图像得文件名,flags表示读取模式,取值如下:
- flags = 2,表示载入的图像深度为16位或者32位,就返回对应深度的图像,否者转换为8位图像再返回。
- flags = 1,表示图像转换位彩色图像(RGB,3通道)。
- flags = 0,表示始终将图像转换成灰度图,即返回灰度图像,1通道。
- flags = -1,表示不加改变地载入原图。
img = cv.imread(“yd.igp”)
利用函数读取文件yd.jpg,该文件位于工程目录下,也可以使用绝对路径,如下:
img = cv.imread("d:yd.jpg")
imread的文件路径不支持中文路径,如果要支持中文路径,就可以用函数imdecode。
2.cv.imshow()
imshow(winname, mat) -> None
其中,参数winname表示显示的窗口名
把图片显示在窗口中,例如:
cv.imshow("Hello,python opencv",{name})
解释:Hello,python opencv是显示的窗口名,{name}可以是上面的img,代指读取图像的名称。
3.cv.waitKey()
waitKey([delay]) → retval
解释:参数delay是延时值,单位为ms,默认0,永久延时,一直等待,直到用户按键。
4.cv.destroyWindow()和cv.destroyAllWindows()
destroyWindow(winname) → None
解释:参数winname是要销毁窗口的名称
destroyAllWindows() → None
解释:waitKey结束后调用destroyAllWindows函数销毁所有窗口。
5.cv.imdecode()
cv.imdecode(buf, flags) -> retval
其中buf是存放图像数据地内存缓存,通常用字节数组或向量地形式表示:flags地含义同imread函数地flags参数。
cv.imdecode()函数从内存中读取图像,经常和numpy.fromfile()函数搭配使用。例如;
src1 = cv.imread("p1.jpg")
src2 = cv.imdecode(numpy.fromfile("山水.jpg",dtype = numpy.uint8),-1)
np.fromfile()函数是支持中文路径地,它通过读取文件在内存中构造数组数据,这样imdecode就能在内存中获得数组数据了,继而进行解码。
6.cv,addWeighted()
dst = cv.addWeighted(src1,alpha,src2,beta,0.0,0) 将src1图1和src2图2线性混合
cv.addWeighted()函数是将两幅相同大小、相同类型的图片进行融合,第二个参数alpha表示第一幅图片所占的权重,第四个参数beta表示第二幅图片所占的权重。权重越大,图片显示得越多。
7.cv.line()
cv.line(image, start_point, end_point, color, thickness)
- image: 要处理的图像。
- start_point: 图像的起始位置,(x坐标, y坐标)
- end_point: 图像的终止位置,(x坐标, y坐标)
- color:画线的线条颜色(0,0,255)红色
- thickness: 线条的粗细,单位:像素
8.cv.imwrite()
imwrite(filename, img[, params]) -> retval
一般写法为:cv.imwrite(‘test.jpg’, img)
解释:img是图像文件,test.jpg代表把这个img图像文件命名成test.jpg。
9.cv.namedWindow()
namedwindow(winname[,flags]) → None
解释:其中参数winname表示新建的窗口名称,随便取;flags表示窗口的标识(一般默认为cv.WINDOW_AUTOSIZE,表示窗口大小自动适应图片大小,并且不可手动更改;cv.WINDOW_NORMAL表示用户可以改变这个窗口大小;cv.WINDOW_OPENGL窗口创建的时候会支持OpenGL)
10.cv.resizeWindow()
cv.resizeWindow(winname, width, height) → None
解释:参数winname是要调整尺寸的窗口的标题;width是调整后的窗口宽度;height是调整后的窗口高度。
11.cv.setMouseCallback()
setMouseCallback(windowName, onm ouse, param = None) → None
解释:参数windowName表示窗口的名字;onMouse是鼠标事件相应的回调函数指针;param传给回调函数的可选参数。
12.cv.circle()
cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])
解释参数说明:
- img:输入的图片或图像
- center:圆心位置
- radius:圆的半径
- color:圆的颜色
- thickness:圆形轮廓的粗细(如果为正)。负厚度表示要绘制实心圆。
- lineType: 圆边界的类型。
- shift:中心坐标和半径值中的小数位数。
代码实例:
# 画圆函数,参数分别代表原图、坐标、半径、颜色、线宽(若为-1,则表示填充)
cv.circle(img, (x, y), 20, 255, -1)
13.cv.createTrackbar()创建滑动条
函数声明:
CreateTrackbar(trackbarName, windowname, value, count, onChange) → None
- trackbarName是滑动条的名称;
- windowName是滑动条将要添加到父窗口的名称...
- value是一个指向整数的指针,这个整数值会随着滑动扭的移动自动变化;
- count是滑动条可以滑动的最大值;
- onChange是一个指向回调函数的指针,当滑动扭移动时回调函数就会自动调用。
14.cv.setTrackbarPos()设置滑动条位置
函数声明:
SetTrackbarPos(trackbarname, windowname, pos) → None
- trackbarName是滑动条的名称;
- windowName是滑动条将要添加到父窗口的名称..
- pos表示设置的滑动块的位置
15.cv.getTrackbarPos()获取滑动条位置
函数声明:
GetTrackbarPos(trackbarname, windowname) → retval
- trackbarName是滑动条的名称;
- windowName是滑动条将要添加到父窗口的名称..
ps:正在努力学习中,为待完成...
标签:窗口,函数,img,cv2,flags,模块,视觉,滑动,cv From: https://blog.csdn.net/KingGodZ/article/details/141123879