Opencv学习笔记04 -- ROI

ROI简介

ROI指的是Region of interest ,即感兴趣区域。我们经常在人脸识别中看到的标记人脸的框框就可以看成一种ROI
在这里插入图片描述

创造ROI

代码如下

#引入包
import cv2

#读图片
img = cv2.imread('bear.jpg',1)

#根据需求修改图片的大小,这里注意我们输入的1920×1080中前面的1920是宽度,后面是高度。这和图片的输出是完全相反的
img = cv2.resize(img,(1920,1080))

#rectang函数是ROI构建的函数,一共有5个参数
#第一个参数是传入的图片名称
#第二三参数是设置ROI的范围,下文将会详细讲解
#第四五个参数是设置ROI边框的颜色和粗细。这里边框是红色,宽度为3
cv2.rectangle(img,(1500,300),(1400,450),(0,0,255),3)

cv2.imshow("picture",img)
cv2.waitKey(0)
cv2.destroyAllWindows()



具体演时如下:
原图:
在这里插入图片描述
效果:
在这里插入图片描述
这里我想说明一下红框的范围,rectangle函数中的第二和第三参数分别指的是红框的这两个对角点,具体的位置可以根据需求自己调整
在这里插入图片描述

下面我想记录一下ROI在局部的操作

import cv2

img = cv2.imread('bear.jpg',1)

print(img.shape)
#取ROI区域
face = img[4:9,15:45]
#对区域进行操作,注意若改变黑白前后则会导致通道数量改变
gray_face = cv2.cvtColor(face,cv2.COLOR_RGB2GRAY)
backface = cv2.cvtColor(gray_face,cv2.COLOR_GRAY2BGR)
#将改变后的区域重新赋值给img
img[10:95,15:45] = backface
cv2.imshow('gray face',img)
cv2.waitKey(100000)
cv2.destroyAllWindows()


这样我们就可以做到对局部操作了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章