私は C++ が初めてで、オンラインで見つけたいくつかの OpenCV チュートリアルを実行しようとしています。Visual Studio 2013 で見つかったコードを正確に作成し、コードを適切に実行することができました。ただし、エラーが発生し続けます。
(アプリケーションをデバッグするには、[再試行] を押します) デバッグ エラー!
プログラム: ...rface_Basics\x64\Debug\OpenCV_Basics_CPP_Interface_Basics.exe
R6025 - 純粋仮想関数呼び出し
(アプリケーションをデバッグするには、[再試行] を押します)
私は純粋な仮想関数について読んでいましたが、このエラーが発生するには少なくとも仮想関数を宣言する必要があるように聞こえましたが、これはさらに混乱を招くだけです。以下は私のコードです:
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
//main functions
void processImage();
void displayGraphics();
//images
Mat image;
Mat processedImage;
int main(int argc, char *argv[])
{
//create a window
namedWindow("Image");
namedWindow("ProcessedImage");
//load the image
if (argc > 1)
image = imread(argv[1]);
else
image = imread("lena.jpg");
if (image.empty())
exit(1);
processImage();
displayGraphics();
waitKey(0);
return 0;
}
void displayGraphics()
{
//display both images
imshow("Image", image);
imshow("ProcessedImage", processedImage);
}
void processImage()
{
int x, y;
Vec3b pixel;
unsigned char R, G, B;
processedImage = image.clone();
for (y = 0; y < processedImage.rows; y++)
{
for (x = 0; x < processedImage.cols; x++)
{
// Get the pixel at (x,y)
pixel = processedImage.at<Vec3b>(y, x);
// Get the separate colors
B = pixel[0];
G = pixel[1];
R = pixel[2];
// Assign the complement of each color
pixel[0] = 255 - B;
pixel[1] = 255 - G;
pixel[2] = 255 - R;
// Write the pixel back to the image
processedImage.at<Vec3b>(y, x) = pixel;
}
}
}
メイン関数から引数を削除し、上記の引用で提供されているデバッグ プロセスを実行しようとしました。ただし、この crt0msg.c ファイルを呼び出すだけで、セクション #ifdef _DEBUG のケース 1 が強調表示されます。
この問題を解決するための助けをいただければ幸いです。