-3
A
答えて
0
イメージ内の各黒いピクセルの長さを計算するように頼んだら、ポインタでイメージをスキャンして長さを計算できます。画像へのポインタを使うと、ポインタは最初の行を指しています。ここにコードがあります
Mat image; //this is the image that contain the above image;
int numberOfRow=image.rows;//number of rows in the image
int length[4];
int forTheFirstTime=0;
int index=0;
int a=0;
for(int j=0;j<numberOfRow;j++)
{
uchar* data=image.ptr<uchar>(j);//the pointer to each row in the image
if(data[0]==0) //if the pixel at the first is black
{
a++;
}
if(data[0]==1)
{
if(forTheFirstTime==0)//if the white pixel is for the first time
{
length[index]=a;
a=0;
index++
}
else
{
//do nothing
}
}
}
もっと検索Googleポインターで画像をスキャンしています。
+0
'image.ptr'について知ってくれてありがとう。 –
0
img
は、問題の画像です。
このように記述しました。
Mat img_inv;
bitwise_not(img, img_inv);
int totalrows = img_inv.rows;
int totalcols = img_inv.cols;
int hist[totalrows];
int blackspacecount = 0;
bool isbackground = true;
for(int i=0; i<totalrows; i++)
{
hist[i] = countNonZero(img_inv(Rect(0,i,totalcols,1)));
if(hist[i] > 0)
{
if(isbackground == true)
{
blackspacecount++;
isbackground = false;
}
}
else
{
isbackground = true;
}
}
int blackspaces[blackspacecount][2];
int p = 0;
for(int i=1; i<totalrows; i++)
{
if (hist[i] > 0 && hist[i-1] == 0)
{
blackspaces[p][0] = i; // Begin
}
if (hist[i] == 0 && hist[i-1] > 0)
{
blackspaces[p][1] = i-1; // End
p++;
}
}
他の方法はありますか?
関連する問題
- 1. RxJS.ajaxコールの開始と終了を見つける方法は?
- 2. StreamWriter:特定の行番号で開始して終了する
- 3. テーブル内のセルの行番号と列番号を見つける方法
- 4. data.frameでシーケンスの開始と終了を見つける
- 5. Javaで開始日と終了日を見つける
- 6. 行番号と行の内容を見つけ、別のファイルで同じ行番号を開くJAVA
- 7. 各行に開始日と終了日があるファクトテーブルの方が良いデザイン
- 8. Luceneを使って行番号やページ番号を見つける方法
- 9. Pythonでファイルの各行に番号を付ける方法
- 10. asp.net/c#の2つの開始日と終了日から週番号を取得する方法
- 11. Javaを使用してファイルを読み込み、開始行と終了行番号を指定して
- 12. XPages ViewPanel空の開始行と終了行
- 13. PHPを使用して2日間の開始日と終了日の数を見つける方法
- 14. 反応エースエディタのガターの開始行番号を設定する方法は?
- 15. PHPで最新を含む過去4ヶ月の開始日と終了日を見つける方法
- 16. 別々の複数行レコードは、開始と終了デリミタ
- 17. SQLクエリ - 最高のインデックス番号の行を見つける
- 18. 開始ID番号の変更方法
- 19. データテーブルの行の開始と終了のグループ化
- 20. 前の行の開始日と終了日の更新
- 21. ClosedXML最後の行番号を見つける
- 22. 無効なJSONの相対行番号を見つける
- 23. rmarkdownの各行の行番号PDF
- 24. PHPは開始番号に番号を付け加えます。
- 25. リクエストが開始した時刻と終了した時刻を見つける方法
- 26. mongoクエリで最小の番号を見つける方法は?
- 27. StackTraceの行番号はメソッドの開始を指します
- 28. 行の最初の要素を使用して行番号を見つける
- 29. MS SQLグループ行の開始と終了に基づいて
- 30. 開始時間と終了時間を1つの開始時間と終了時間に分割する
興味深い問題です。これまでに何か試しましたか? – rayryeng
@ MarkSetchellはい。ありがとう。 –