#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <QDebug>
int main()
{
// Read input image
cv::Mat img= cv::imread("D:\\extra\\Procesare de imagine\\altele\\images\\group.jpg");
if (!img.data)
{
qDebug("no image");
return 0;
}
// Display the image
cv::namedWindow("Image");
cv::imshow("Image",img);
// Erode the image
cv::Mat eroded;
cv::erode(img,eroded,cv::Mat());
cv::waitKey();
return 0;
}
こんにちは、opencv (Qt) 関数の erode() と dilate() に次の問題があります。msvc10 コンパイラを使用します。簡単なコードを実行しようとしましたが、cv::erode(img,eroded,cv::Mat()) 行でクラッシュします。エラー メッセージは表示されず、「program.exe が動作を停止しました」というダイアログが表示されるだけです。「プログラムのデバッグ」に移動すると、Call Stack tbb.dll が表示されます ([以下のフレームは正しくないか、欠落している可能性があります。tbb.dll のシンボルがロードされていません] : )。最初からデバッグ モードでのビルドに問題があり (imread はデバッグでは機能せず、cvLoadImage のみ)、関数 cv::threshold() は非常に単純なコードで同じようにクラッシュします。tbb.dll の隣に tbb.pdb をコピーすることで解決できると読みましたが、うまくいきません。