0

opencvを使って多肢選択式スキャナーを解析しましたが、まずは画像を白黒(二値化)にして、ハフ変換で画像中の線を探します。

これは元の画像です元の画像
// 画像を滑らかにします

Mat img = imread(path,1);
if(img.empty()){
   cout << "no picture shown" <<endl;      
}   
cvtColor(img,img,CV_BGR2GRAY);
Size size(3,3);
GaussianBlur(img,another,size,0);
adaptiveThreshold(another,another,255,CV_ADAPTIVE_THRESH_MEAN_C,CV_THRESH_BINARY,75,10);
bitwise_not(another,another); 

// houghline で行を検索

   vector<Vec4i> lines; 
   HoughLinesP(img,lines,1,CV_PI/180,80,400,10);
   cout << "line size : " << lines.size() << endl;

ただし、問題はまだ行が見つからなかったことです。これが処理された画像 加工画像です。

結果の画像から、問題はエッジのエイリアシングによるものだと思います。ハフラインに影響しますか?また、エイリアシングを削除するにはどうすればよいですか?

4

1 に答える 1