基于python语言的opencv如何把图片中指定区域截取出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于python语言的opencv如何把图片中指定区域截取出来?相关的知识,希望对你有一定的参考价值。

基于python语言的opencv如何把图片中指定区域截取出来?比如图片中有人脸,然后用矩形框爸人脸框出来了,那么怎么把框中的人脸截取出来现实或者保存?

3-切割轮廓

(这是我网站找的一篇 blog, 亲测有效)

参考技术A 读取一张原始图片
定义一个存储提取出区域的变量
Mat roi_img;

2
截取原图的指定位置大小的区域

roi_img = src_img(Range(0,100),Range(50,200));

这里截取的就是原图第0行至第99行,第50列至199列的区域图像.
这里要注意的就是Range的两个参数范围分别为左包含和右不包含
3
这样就可以获取指定区域的图像.
要注意的是,如果操作利用Mat方法直接赋值获取的区域图像仍然会改变原图.
若想直接复制出ROI区域,需要把原始图像进行clone即可

python opencv如何存图片到指定路径?按图上的会存到python_work文件夹

如图,修改倒数第四行的内容为:
cv2.imwrite('F:/xxx/yyy/' + str(c) + '.jpg', frame)

即可将图片存储到 F 盘的 xxx\yyy 目录中,这里按照你的需要修改即可追问

我的路径最后写的是/python_work/jpg,但是输出到python_work

jpg是我想要输出到的文件夹名

追答

那就把 yyy/ 改成 jpg/ 就可以了,最后要加一个斜杠的,否则它就是文件名前缀了

参考技术A 没错啊,就是按照你代码写的,会存到anaconda下面的python——work路径下啊,没问题,就是这么写的 参考技术B

修改路径呗,

把这里路径改成你想要的就行

追问

我的路径最后写的是/jpg,但是输出到python_work

jpg是我想要输出到的文件夹名

参考技术C 那个cv2.imwrite() 括号内写的不就是要存储的路径吗? 你改一下不就好了追问

我写的路径最后面是python_work/jpg,但是最后图片输出在python_work文件夹

追答

那就在你的python_work/jpg后面再加个/ 你不觉得你的文件名字不对吗
文件名字前面都有个jpg,后面也是.jpg

追问

jpg是我的文件夹名

追答

你把路径改成这样python_work/jpg/str(c)+'.jpg' 就好了

望采纳

追问

谢谢,确实该加/

本回答被提问者采纳

以上是关于基于python语言的opencv如何把图片中指定区域截取出来?的主要内容,如果未能解决你的问题,请参考以下文章

python opencv如何存图片到指定路径?按图上的会存到python_work文件夹

opencv-python两张图片填充,指定区域替换其他图片

opencv python图片编码解码

OpenCV|图片与视频的相互转换(C++&Python)

基于 OpenCV 与 Java 两个语言版本实现获取某一图片特定区域的颜色对比度

Android中用opencv处理图片