我想尝试一个简单的 OpenCV 示例,如下所示:
Mat greyMat;
cvtColor(image, greyMat, CV_BGR2GRAY);
filtered_image = [self UIImageFromCVMat:greyMat];
[color_filtered_view setImage:filtered_image];
其中图像只是另一个 Mat(从相机获得),如果按下按钮则执行。
不幸的是,绝对没有任何事情发生。图像视图保持空白。
setNeedsLayout 和 setNeedsDisplay 无济于事,但如果我旋转我的设备(并强制布局适应另一个方向),图像会突然可见。
怎么了?
更新:
发现这个问题只是因为 CvVideoCamera 正在流式传输到另一个视图,因此不是因为 Mat 到 UIImage 转换。问题是这个(正在运行的 CvVideoCamera)为什么/如何阻止 setImage?