std::string filename의 image를 load하여 간단한 변환.
IplImage* img = cvLoadImage(fileName.c_str());
cv::Mat src = cv::cvarrToMat(img).clone();
cv::Mat src_gray;
cvReleaseImage(&img);
if (src.channels() == 3)
{
cv::cvtColor(src, src_gray, CV_BGR2GRAY);
}
else if (src.channels() == 4)
{
cv::cvtColor(src, src_gray, CV_BGRA2GRAY);
}
else if (src.channels() == 1)
{
src_gray = src.clone();
}
// if (!findContours(src_gray, useFilter)) return false;
cv::Mat sum_image;
cv::cvtColor(src_gray, sum_image, CV_GRAY2RGB);
for (int i = 0; i < m_candidatesTargets.size(); i++)
{
Target& t = m_candidatesTargets[i];
if (m_candidatesTargets[i].type == Target::UNKNOWN)
{
ellipse(sum_image, t.ellipse, cv::Scalar(0, 255, 0), 1, 8);
}
else
{
ellipse(sum_image, t.ellipse, cv::Scalar(0, 0, 255), 1, 8);
}
}
cv::namedWindow("sum_image", CV_WND_PROP_ASPECTRATIO);
cv::imshow("sum_image", sum_image);
cv::waitKey();
댓글 없음:
댓글 쓰기