私は現在、画像を読み込んで多数のフィルタを適用するプロジェクトに取り組んでいます。関心領域の周りに境界矩形を配置できるようにするためです。画像から不要な線を取り除く
cvtColor(src, newsrc, CV_BGR2GRAY);
adaptiveThreshold(~newsrc, dst, 255, CV_ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);
:私はその後、グレースケールと適応閾値を適用するために画像を変換
string imageLocation = "loctation of image file";
src = imread(imageLocation, 1);
:
私は、入力として並んで紙に手書きテキストのイメージを持っています
私はモルフォル
Mat horizontal = dst.clone();
int horizontalSize = dst.cols/30;
Mat horizontalStructure = getStructuringElement(MORPH_RECT, Size(horizontalSize,1));
erode(horizontal, horizontal, horizontalStructure, Point(-1, -1));
dilate(horizontal, horizontal, horizontalStructure, Point(-1, -1));
cv::resize(horizontal, horizontal, cv::Size(), 0.5, 0.5, CV_INTER_CUBIC);
imshow("horizontal", horizontal);
次(これまでのところは良い)を生成します:イメージから水平線を排除しようとするogical操作
私は、その後の図に同じむしばむ& DILATEメソッドを使用しよう垂直アウト:
int verticalsize = dst.rows/30;
Mat verticalStructure = getStructuringElement(MORPH_RECT, Size(1,verticalsize));
erode(vertical, vertical, verticalStructure, Point(-1, -1));
dilate(vertical, vertical, verticalStructure, Point(-1, -1));
cv::resize(vertical, vertical, cv::Size(), 0.5, 0.5, CV_INTER_CUBIC);
imshow("vertical", vertical);
私は見つけることができますOpenCVのの例を、以下のよhere
しかし、私は垂直のために取得しています出力は、次のとおりです。
私の質問があり、私は画像からこれらの水平線を削除して行くだろうか。
申し訳ありませんが長い質問(私はできる限り説明したいと思います)とアドバイスを事前に感謝します。
垂直を解明しようとするとどういう意味ですか? –
私はOpenCVの例へのリンクを投稿しました。そして、水平線からテキストを分離するために、水平線と垂直線を抽出するために形態学的演算を使用します。 –
'Mat vertical'がどこで宣言され、初期化されたかわかりません。それ本当? –