Re: [问题] Python cv2如何取ROI

楼主: backprog (back-propagation)   2017-09-01 11:21:26
※ 引述《weihan0405 (blue)》之铭言:
: 版大高手们,小弟最近用Python + opencv在实作上有个问题想请教....
: 以下为我的dataset如附图,假设resize完每张(400*300),有很多张人的走动或是坐着
: 等等
: http://i.imgur.com/W1AUaBH.jpg
: 我已对它做完影像处理后,我该如何取ROI,针对每张图的白人部分取出我要的部分(假
: 设粉红框框100*100)?
原 PO 应该是从 C++ 转过来的 opencv user ?
opencv for python 没有像 C++ 那样自订这么复杂的资料结构,
影像用 numpy.ndarray 储存就可以直接处理,
所以不用像 C++ 还需要呼叫特定函式取 ROI,
只需要用一般 python 存取 array 的方法就好。
roi = raw_img[y:y+h, x:x+w]
x,y :ROI 在 raw image 之中的左上角座标
w,h :ROI 本身宽高
作者: weihan0405 (blue)   2017-09-02 20:55:00
感谢你的回复:)其实我知道它用array方式可以存ROI可能我写的不清楚,我是想问说根据我不同的图,可能取出的框(ROI)有的长有的宽,不同大小那这样......请问我该怎么"统一"让我取出的ROI存成同样大小的图(假设64*64).........用cv2.resize吗?但他好像就会变宽不成比例的样子
作者: hutdris   2017-09-03 01:33:00
那你先开一张64乘64的全黑图,把你的roi区域置中贴上?
作者: weihan0405 (blue)   2017-09-03 01:59:00
恩恩我有想到这个,但我后来用别的方式好像解决了,谢谢你:)

Links booklink

Contact Us: admin [ a t ] ucptt.com