c++ opencv 加载图片函数中用指针代替路径字符串一直不成功。
CStringpic_Path=L"";图片路径voidCImageView::OnFileOpen(){Invalidate();//清空CFileDialogdlg(...
CString pic_Path=L""; 图片路径
void CImageView::OnFileOpen()
{
Invalidate(); //清空
CFileDialog dlg(TRUE);
if(IDOK==dlg.DoModal())
{
CDC *pDC;
pDC=GetDC();
Manage man;
pic_Path=dlg.GetPathName();
man.Show(0,0,pDC,dlg.GetPathName());
ReleaseDC(pDC);
}
}
void CImageView::OnSharpen()
{
const char *p =(LPSTR)(LPCTSTR)pic_Path;
Mat image = cvLoadImage(p);//执行到这一步一直加载不了图片。
Mat sharpenedImage;
Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
cv::filter2D(image, sharpenedImage, image.depth(), kernel);
imshow("Image", image);
imshow("sharpened Image", sharpenedImage);
cvWaitKey();
}
一直加载图片不成功,是不是在CString和char*转换过程中出现了问题?求大神能不能指点下错误在哪? 展开
void CImageView::OnFileOpen()
{
Invalidate(); //清空
CFileDialog dlg(TRUE);
if(IDOK==dlg.DoModal())
{
CDC *pDC;
pDC=GetDC();
Manage man;
pic_Path=dlg.GetPathName();
man.Show(0,0,pDC,dlg.GetPathName());
ReleaseDC(pDC);
}
}
void CImageView::OnSharpen()
{
const char *p =(LPSTR)(LPCTSTR)pic_Path;
Mat image = cvLoadImage(p);//执行到这一步一直加载不了图片。
Mat sharpenedImage;
Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
cv::filter2D(image, sharpenedImage, image.depth(), kernel);
imshow("Image", image);
imshow("sharpened Image", sharpenedImage);
cvWaitKey();
}
一直加载图片不成功,是不是在CString和char*转换过程中出现了问题?求大神能不能指点下错误在哪? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询