OpenCV 学习-函数、方法积累

版权声明:如需转载请标注 https://blog.csdn.net/weixin_40973138/article/details/84445423

图像操作:

cv.imread(const String& filename,int flags)           #读取图片。参数1:图片地址;参数2(默认正常读取):0 或2 为灰度图,1 为原图

cv.NamedWindow( const char* name, int flags )         #创建窗口,但不写也能show。参数1:窗口名字;参数2:窗口显示方式(为0 或cv.WINDOW_NORMAL,可以改变窗口大小;不写或

cv.WINDOW_AUTOSIZE则不可改变大小)

cv.imshow(const string& winname, InputArray mat)      #显示图片窗口。**参数1**:窗口名称(若上文有NamedWindow() 函数,这个名称要与它一样);**参数2**:要显示的图片(如果窗口是用CV_WINDOW_AUTOSIZE(默认值)标志创建的,那么显示图像原始大小。否则,将图像进行缩放以适合窗口)

waitKey(K)                                            #窗口显示时间,单位:毫秒。K=0,一直显示,直到按下数字键

destroyAllWindows()                                   #删除建立的全部窗口,释放资源

cv.imwrite(adress, name)                              #图片另存为。参数一:图片保存地址;参数二:图片保存名称

np.array(image)                                       #获取图像像素矩阵

cv.cvtColor(src, dst, int code)                       #实现色彩空间转换

视频操作:

cv.VideoCapture(0)                                    #打开摄像头。0代表的是设备id,如果有多个摄像头,可以设置其他数值;也可以是视频文件地址,调用视频文件,如果要播放要设置帧的循环

.read()                                               #读取摄像头。它能返回两个参数,第一个参数是bool型的ret,其值为True或False,代表有没有读到图片;第二个参数是frame,是当前截取一帧的图片

cv.flip(frame, 1)                                     #翻转。 0:上下颠倒;大于0:水平颠倒;小于0:180旋转

cv.getTickCount()                                     #返回自从某一时刻(比如计算机启动)开始,计算机总共经过的tick的次数,其需要结合getTickFrequency()函数使用,getTickFrequency()返回的是CPU在一秒钟内会发出的tick的次数

cv.inRange(src, lowerb, upperb)                       #输出二值化图像。对输入矩阵每一个像素点进行检测,当像素点的值介于lower 和upperb 之间的赋予1,否则赋予0

Numpy

np.zeros([height, width, channels], type)             #创建一个图像,其像素值全为0

np.ones([height, width, channels], type)              #创建一个图像,其像素值全为1

cv.bitwise_not(image)                                 #二进制数据进行“非”操作

.fill(x)                                              #将矩阵中填满x 值

.reshape([height, width, channels])                   #改变矩阵维数

np.array([[a,b,c], [d,e,f], [g,h,i]], type)           #创建矩阵

像素操作

cv.add(m1, m2)                                        #加

dst = cv.subtract(m1, m2)                             #减

dst = cv.multiply(m1, m2)                             #乘

dst = cv.divide(m1, m2)                               #除

cv.mean(m1)                                           #均值

cv.meanStdDev(m1)                                     #方差

cv.bitwise_and(m1, m2)                                #“与”

cv.bitwise_or(m1, m2)                                 #“或”

cv.bitwise_not(m1)                                    #“非”

cv.bitwise_xor(m1, m2)                                #“异或”

cv.addWeighted(image, c, blank, 1-c, b)               #计算两个图像阵列的加权和(调节对比度和亮度)。image 为目标图像;c 为对比度;blank 为全黑等大图像;b 为亮度。所得图片dst = image*c+blank*(1-c)+b

猜你喜欢

转载自blog.csdn.net/weixin_40973138/article/details/84445423
今日推荐