我正在从我的电脑上拍摄图像,并尝试使用canny方法获取图片的边缘。 但是,它始终显示一条消息,即虽然我的路径正确,但无法读取图像。 我正在使用Visual Studio。
#include<opencv2/opencv.hpp>
#include<iostream>
#include<conio.h>
using namespace cv;
using namespace std;
int main()
{
cv::Mat imgOriginal;
cv::Mat imgGrayscale;
cv::Mat imgBlurred;
cv::Mat imgCanny;
imgOriginal = cv::imread("C:\Users\deep\Documents\Visual Studio
2017\Backup Files\de2\image.png",IMREAD_ANYCOLOR | IMREAD_ANYDEPTH);
// open image
if (imgOriginal.empty()) {
std::cout << "error: image not read from file\n\n";
_getch();
return(0);
}
cv::cvtColor(imgOriginal, imgGrayscale, CV_BGR2GRAY);
cv::GaussianBlur(imgGrayscale,imgBlurred,cv::Size(5, 5),
1.5);
cv::Canny(imgBlurred,
imgCanny,
82,
164);
cv::namedWindow("imgOriginal", CV_WINDOW_AUTOSIZE);
cv::namedWindow("imgCanny", CV_WINDOW_AUTOSIZE);
cv::imshow("imgOriginal", imgOriginal);
cv::imshow("imgCanny", imgCanny);
cv::waitKey(0);
return(0);
}
答案 0 :(得分:0)
要确保转到图像目录,然后右键单击转到属性以复制文件目录。然后尝试: imgOriginal = cv :: imread(“ copied part / image_name.png”,1);