Hmm, suggest instead of IplImage you use CvMat, as in
CvMat subframe;
cvGetSubRect(frame, &subframe, cvRect(width/2, height/2, width/2,
height/2));
pub_narrow_.publish(bridge.cvToImgMsg(&subframe, "bgr8"));
(I think you are right; cv_bridge does not handle IplImage with ROI
correctly. But IplImage is deprecated in OpenCV in favor of CvMat.)
On Fri, Apr 23, 2010 at 4:57 AM, Kei Okada <
k-okada@jsk.t.u-tokyo.ac.jp>wrote:
> Hi,
>
> Does cv_bridge support converting ROI image to ROS msg?
>
> I'm trying to publish ROI cropped image as followings, however the
> hoge.ppm and published image message are differ.
> hoge.ppm start from (width/2 height/2) of the original image but
> published image starts from (0 0).Both image size are width/2 and height/2.
>
> IplImage *frame = ....;
> int width = frame->width, height = frame->height;
> cvSetImageROI(frame, cvRect(width/2, height/2, width/2,
> height/2));
> cvSaveImage("hoge.ppm", frame);
> pub_narrow_.publish(bridge.cvToImgMsg(frame, "bgr8"));
>
> ==
> Kei Okada
> _______________________________________________
> ros-users mailing list
> ros-users@code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
--
J.