在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区域(Region of Interest, ROI)。在设定感兴趣区域 ROI 后,就可以对该区域进行整体操作。
位置提取 ROI
本小节代码在配套资料“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程\04_OpenCV 开发配套资料\06”目录下,如下图所示:
在 2.2 小节中学习了 imread()函数用来读取图像文件,以下面的代码为例读取到的信息会被保存到 img 变量中。
img = cv2.imread('lena.png',1)
可以通过对 img 变量存储的数组设定范围,进行位置提取以此来设定 ROI,例如使用以下命令展示 x 区域范围为[300,500],y 区域范围为[200,400]的图像
cv2.imshow('img',img[200:400,300:500])
实验:
实验要求:
使用 imshow()函数展示一张彩色图像的 ROI 区域,ROI 区域为 x 范围[300,500],y 区域
[200,400]。
实验步骤:
首先进入到 ubuntu 的终端界面将“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程\04_OpenCV 开发配套资料\06”路径下的 lena.png 文件拷贝到 ubuntu 虚拟机上,拷贝完成如
下图所示:
输入以下命令来创建 demo06_cut.py 文件,如下图所示:
vim demo06_cut.py
然后向该文件中添加以下内容:
1 import cv2 #opencv 的缩写为 cv2,导入 opencv
2 img = cv2.imread("lena.png") #使用 imread 函数读取名为 lena.png 的图片
3 cv2.imshow('img',img[200:400,300:500])
4 cv2.waitKey(0) #等待按键的按下
第 1 行导入了 opencv;
第 2 行使用 imread 函数读取名为 lena.png 的图片;
第 3 行使用 imshow()函数对转换的图像部分区域进行了展示;
第 4 行使用了 waitKey()函数,持续显示展示照片直到按键的按下。
保存退出之后,在终端界面中输入以下命令进行 python 代码的运行,运行结果如下图所示:
python demo06_cut.py
可以看到对应区域的图像已经显示了出来,至此位置提取 ROI 的实验就结束了。
更多内容可以关注:迅为RK3568开发板