###c++を用いたプログラム
写真から赤色の部分と青色の部分を抽出するプログラムを作っています.
実行したところ,以下のようなエラーが発生し,デバッグできません.
ご協力をお願いします.
###エラーメッセージ
###ソースコード
//#include <stdafx.h>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
//-----------------原画像----------------------
Mat src_image = imread("IMG_2941.JPG");
namedWindow("原画像");
imshow("原画像", src_image);
int width = src_image.cols; int height = src_image.rows; //--------HSV擬似画像への変換------------------ Mat hsv_image; cvtColor(src_image, hsv_image, CV_BGR2HSV); uchar hue, sat, val; Mat red_image = Mat(Size(width, height), CV_8UC1); Mat blue_image = Mat(Size(width, height), CV_8UC1); for (int y = 0; y < height; y++) for (int x = 0; x < width; x++) { //---------------H,S,Vへの分解----------- hue = hsv_image.at<Vec3b>(y, x)[0]; sat = hsv_image.at<Vec3b>(y, x)[1]; val = hsv_image.at<Vec3b>(y, x)[2]; //----------------赤の検出--------------- if ((hue < 8 || hue > 168) && sat > 100) red_image.at<uchar>(y, x) = 0; else red_image.at<uchar>(y, x) = 255; //----------------赤の検出--------------- if ((hue < 97 || hue > 117) && sat > 100) blue_image.at<uchar>(y, x) = 0; else blue_image.at<uchar>(y, x) = 255; } namedWindow("赤検出画像"); imshow("赤検出画像", red_image); namedWindow("青検出画像"); imshow("青検出画像", blue_image); waitKey(0); destroyAllWindows(); return 0;
}

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。