Opencv-Python入门知识点总结

Opencv-Python笔记

注:Opencv读取图片的格式是BGR

  1. 数据读取——图像

① cv2.imread(参数1,参数2) ——读取指定图像,参数1指图像名,参数2指图像格式,彩色or灰度注:cv2.IMREAD_COLOR ——彩色图像     cv2.IMREAD_GRAYSCALE ——灰度图像

② cv2.imshow(参数1,参数2) ——显示图像  注:参数1指显示窗口名,可任意;参数2指需显示图像矩阵

③ cv2.waitKey(参数1);cv2.destroyAllWindows() ——等待时间,毫秒级,关闭显示窗口 注:参数1指毫秒数,若参数1等于0,则是按任意键关闭

④ cv2.imwrite(参数1,参数2) ——保存 注:参数1指图像名或图像路径;参数2指图像矩阵数据

 

  1. 数据读取——视频
  • cv=cv2.VideoCapture(‘’) ——读取指定路径下的视频流   注:cv2.VideoCapture()可捕获摄像头,0、1设定不同设备
  • ##检查是否正确打开##

   if vc.isOpened(): #视频流变量名.isOpened()

      open, frame = vc.read() #open被赋予布尔值;frame被赋予某帧图像的矩阵值

   else:

      open = Flase

   while open:

      ret, frame = vc.read()  #ret被赋予布尔值;

      if frame is None: #若某帧图像是空白,则会退出完成

         Break;

      if ret == True:

         gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # BGR2GRAY是指B、G、R三个通道顺序

         cv2.imshow(‘result’,gray)

         if cv2.waitKey(100) & 0xFF == 27: #0xFF是指Esc键

             break

 vc.release()

 cv2.destroyAllWindows()

 

  1. 颜色通道提取

① b,g,r=cv2.split(图像矩阵变量名)

② cv2.merge((b, g, r)) ——图像通道重新组合

③ 若需只要一个通道的来显示图像,则可将其余两通道设为0

例如:###只保留R通道###

A_img = img.copy()       #复制img图像数据矩阵赋予A_img

A_img[: , : , 0]=0         #通道0数据均赋予0

A_img[: , : , 1]=0         #通道1数据均赋予0

cv_show(‘R’, A_img)    

 

  1. 边界填充

top_size,bottom_size,left_size,right_size = (a, b, c, d)

img_name = cv2.copyMakeBorder(参数1,top_size, bottom_size, left_size, right_size, borderType=参数2 )     注:参数1是指需进行边界填充的图像数据矩阵;参数2是指填充的类型,如下是填充类型:

BORDER_REPLICATE :复制法,及复制图像最边缘像素

BORDER_REFLECT :反射法,及对感兴趣的图像中的像素在两边进行复制,eg: fedcba|abcdefgh|hgfedc

BORDER_REFLECT_101 :反射发,及以最边缘像素为轴,对称,eg:hgfedcb|abcdefgh|gfedcba

BORDER_WRAP :外包装法 eg: bcdefgh|abcdefgh|abcdefg

BORDER_CONSTANT :常量法,常数值填充   img_name = cv2.copyMakeBorder(参数1,top_size, bottom_size, left_size, right_size, borderType=参数2 ,value=number)

 

  1. 数值计算(像素值范围为0~255,共256个值)

① cv2.add(图像1矩阵,图像2矩阵)     注:若图像1与图像2对应元素相加大于255,,则定值为255

② 图像3矩阵 = 图像1矩阵 + 图像2矩阵 注:若图像1与图像2对应元素相加大于255,,则定值为与256的差值

 

  1. 图像融合(需确保图像大小一致)
  • cv2.resize() ——重置图像的大小

用法1:cv2.resize(图像,(数值1,数值2))   ——将图像重置为数值1 × 数值2的图像

用法2:cv2.resize(图像,(0,0),fx=a,fy=b)  ——将图像重置为x轴为a倍,y轴为b倍的图像

② cv2.addWeighted(图像1,a,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值