Imwrite不创建图像
imwrite does not create image
#include <opencv/cv.h>
#include <opencv/highgui.h>
using namespace cv;
int main( int argc, char** argv )
{
const char* imageName = "samp.png";
Mat image;
image = imread( imageName, 1 );
Mat gray_image;
cvtColor( image, gray_image, CV_BGR2GRAY );
imwrite( "/home/Downloads/Pictures/Gray_Image.jpg",gray_image );
namedWindow( imageName, CV_WINDOW_AUTOSIZE );
namedWindow( "Gray image", CV_WINDOW_AUTOSIZE );
imshow( imageName, image );
imshow( "Gray image", gray_image );
waitKey(0);
return 0;
}
上面代码中的'imwrite '不能创建图像。其他一切都很好,我可以使用imshow看到图像。但我不知道为什么它没有创造一个形象。我尝试了"convertTo"并将路径中的"/"替换为"",但它不起作用。如果我得到任何线索,我会很高兴的。谢谢!
没有明确说明,但是imwrite
返回一个布尔值,当且仅当它认为它可以成功写入文件时,该布尔值为true
。您应该检查该值!
您可能会发现imwrite
返回false
。很可能您没有足够的权限,或者——正如berak指出的——您的文件路径无效。
Markus Mayr的回复帮助我发现我在打印imwrite的结果时得到了一个错误。原因原来是,我要写的目录不存在。我假设它将创建目录,但imwrite静默失败。在我手动创建目录后,它工作了
相关文章:
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 在OpenCV C++中创建空白图像
- 如何快速创建一组覆盖两个图像的图像
- LoadImage 函数不适用于 ImageMagick 创建的位图图像
- Cuda 从黑/白图像创建纹理对象
- 创建位图图像未在窗口上打印
- 如何在 dlib 的 array2d 图像上从 dlib::rectangle 创建 cv::Mat<rgb_pixel> ?
- 使用 ImageMagick 从像素强度数组创建灰度图像时遇到问题
- 用FWRITE创建图像后,将交换字节
- 张量流错误:执行器无法创建内核。没有注册'Snapshot' 适用于 GPU 设备的 OpKernel 运行图像标签示例
- SDL2 不将在单独函数中创建的图像渲染到SDL_RenderPresent (C++)
- 无法释放从iPlimage创建的垫子图像
- 从一系列图像创建 CvCapture
- 在 opencv 中从 Mat 图像创建多个子图像?尝试为每个连接的组件创建子图像
- 如何使用avcodec从OpenCV::Mat类型的jpeg图像创建视频
- 如何为图像创建唯一的指纹
- LibVLC从帧/图像创建流
- 从图像创建实时RTP流
- 如何在Visual c++中使用swflib库从多个.jpg图像创建.swf文件
- 使用VideoCapture (OpenCV)从图像创建视频