私はopencv(C++)の新機能です。このX線画像から水平線を削除したいと思います。でも、私は出来ません。このX線画像から水平線を削除するにはどうすればいいですか?
これらは私の画像です:
このタスクを解決する方法についてどのような考えを示唆していますか?または、インターネット上のどのリソースでヘルプを見つけることができますか?
これは単なるアイデアだ私のC++コード
src = imread("C:/Users/Alireza/Desktop/New folder (3)/11.bmp");
cvtColor(src, gray, CV_RGB2GRAY);
imshow("Original Image", gray);
imwrite("Original Image.png", gray);
normalize(gray, gray, 0, 250, NORM_MINMAX, -1, Mat());
threshold(gray, thresh, 170, 255, THRESH_BINARY_INV);
vector< vector <Point> > contours;
vector<Vec4i> hierarchy;
int largest_contour_index = 0;
int largest_area = 0;
Mat alpha(src.size(), CV_8UC1, Scalar(0));
findContours(thresh, contours, hierarchy, CV_RETR_TREE,CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
for (int i = 0; i< contours.size(); i++)
{
double a = contourArea(contours[i], false);
if (a>largest_area)
{
largest_area = a;
largest_contour_index = i;
}
}
drawContours(alpha, contours, largest_contour_index,Scalar(255),CV_FILLED, 8, hierarchy);
vector<Mat> rgb;
split(src, rgb);
Mat rgba[4] = { rgb[0], rgb[1], rgb[2], alpha };
merge(rgba, 4, Tafrigh);
imshow("Tafrigh", Tafrigh);
imwrite("Tafrigh.png", Tafrigh);
あなたはhttp://s000.tinyupload.com/index.php?file_id=60368569977646932463とhttp://s000.tinyupload.com/index.php?file_idに複数の画像を見ることができます= 17335973361892920384。 –
あなたの質問には、コードと多分画像も含まれているはずです。あなたのコードを見るために、私はファイルをダウンロードしません。 – user463035818
@ tobi303:自分のコードを挿入することはできません。システムで私のコードを挿入することはできません!そのページのcode.cppをクリックすれば開くことができます。 –