执行相同操作
我使用的是opencv,我有一个使用imshow()可以看到的框架,但当我使用imwrite将其保存在磁盘上时,我会得到一个黑色图像。
......
// frame *= 1/255; even converting the color before writing it didn't help
cv::sqrt(frame,frame);
cv::imwrite("name.tif",frame);
frame *=1/15.96;
imshow("frame",frame); //it works fine
................
不知道为什么它不起作用。提前感谢
您在这里所做的是执行imwrite(),然后对帧执行数学运算,然后执行imshow()。
埃尔戈,你正在书写和观看两个不同版本的Mat框架。如果您已经验证了.tif扩展是否有效,那么sqrt()可能会导致一个黑框。尝试:
cv::sqrt(frame,frame);
frame *=1/15.96;
cv::imwrite("name.tif",frame);
imshow("frame",frame);
现在你可以确定你在写你所看到的。如果两者之间仍然存在差异,则尝试对其他图像格式