在visual studio 2010中集成OpenCV
我试过这个示例。它显示红色图像在visual studio 2010中集成OpenCV
Mat img(400,400,CV_8UC3, Scalar(0,0,255));
imshow("lalala", img);
waitKey();
而这种代码opennig网络摄像头它的工作:
#include <opencv\cv.h>
#include <opencv\highgui.h>
using namespace cv;
int main()
{
Mat image;
VideoCapture cap;
cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
cap.open(0);
namedWindow("window",1);
while(1)
{
try
{
cap>>image;
imshow("window",image);
}
catch (Exception& e)
{
const char* err_msg = e.what();
std::cout << "exception caught: imshow:\n" << err_msg << std::endl;
}
waitKey(33);
}
}
但是这个代码,它表明:使用方法:display_image ImageToLoadAndDisplay:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if(argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], IMREAD_COLOR); // Read the file
if(! image.data) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
会有人帮助我找到成为的错误,我真的被封锁了。我认为在windows 8.1中我的opencv 2.4.9在visual studio 2010中的集成是正确的,因为我遵循opencv的官方网站中的步骤,图像的路径也是正确的,但我认为代码中存在问题,因为如果问题出在安装,任何程序都可以工作(openig网络摄像头或红色图像)。
我问这个问题在其他论坛上得到的答复是:
这不是一个OpenCV的问题,你可能想看看起来,把手CMDLINE如何 PARAMS(你的计划预计将给予路径到 图像),图像的路径是预期的。
但它是我第一次与Visual Studio和opencv.I工作,不明白是什么意思。
我提前感谢大家的帮助!
您需要为程序指定命令行参数。
选项1:
找到你的编译项目的.exe文件。根据您的配置,它应该位于文件夹“Debug”或“Release”中。
开启在该位置和类型的命令提示:
Exe.exe image.jpg的
埃克是可执行文件和图像的名称是JPG文件的名称你想打开它(它应该位于与.exe相同的文件夹中)。
选项2:
在解决方案资源管理(按Ctrl + Alt + L,如果你不能看到它)右键单击项目的名称,然后点击 “性能”。
命名为 “属性页” 的窗口应该已经打开。在“配置属性”中单击“调试”。您应该在“命令参数”中输入某个JPG图片的名称。您的项目的EXE位于。
我做到了,但同样的结果“无法打开或找到像” – user7381415
想象您的可执行文件称为“Program.exe”,那么.exe所在的文件夹应至少包含“Program.exe”和“Image.jpg”。所以你必须打开该文件夹中的命令提示符,然后键入“** Program.exe image.jpg **”,而不用引号 – asehu
thanx asehu,我试过但没有任何变化,也许它不是错误 – user7381415
命令行PARAMS - 你应该使用图像作为参数调用程序 - 这正是其他论坛告诉你 –