上にも書いたとおり
http://www.mathgram.xyz/entry/cv/contour
これで自然な感じで線が引けます。
さらに2値化を加えてクリアにしました。
C++なのでその点は考慮する必要がありました。
さらに車のテカリをおさえるため(テカリ過ぎるとアニメに見えない)グレースケール成分を取り出し均一化もしました。
そのコードはこれです。
cv::Mat lab_image;
cv::cvtColor(dest, lab_image, CV_BGR2Lab);
// Extract the L channel
std::vector<cv::Mat> lab_planes(3);
cv::split(lab_image, lab_planes); // now we have the L image in lab_planes[0]
// apply the CLAHE algorithm to the L channel L=明度
cv::Ptr<cv::CLAHE> clahe = cv::createCLAHE();
clahe->setClipLimit(4);
cv::Mat dst;
clahe->apply(lab_planes[0], dst);
// Merge the the color planes back into an Lab image
dst.copyTo(lab_planes[0]);
cv::merge(lab_planes, lab_image);
// convert back to RGB
cv::Mat image_clahe;
cv::cvtColor(lab_image, image_clahe, CV_Lab2BGR);
dest=image_clahe;
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。