前提・実現したいこと
二値化画像の指定のピクセルの逆順から0が連続で5回続いたとき、1からの距離を知りたい
1024×1024の二値化画像のX:0~514ピクセル、Y:800ピクセルの輝度値を抽出して0が連続で5回続いた時、何回処理したかの値を知りたい
プログラミング初心者に助言をお願いいたします。
現状として、0が連続で5回の抽出は出来いますが、逆順で抽出しているため値が514、513、~1という順番で取得している。
その値を1~514の順番で抽出したい。
例:
現状
255
255
255
0
255
0
255
0
0
0
0
0
0
255
255
→ 現状では0が連続で5回続いたのが12なため「514-12=502」という値が抽出できている。
→ 「12」という値を表示したい
該当のソースコード
Python
1import cv2 2import numpy as np 3 4img = cv2.imread("180_0.bmp") 5img_array = np.asarray(img) 6image = img_array[800,0:514] 7 8r = 0 9 10for i in reversed(range(image.shape[0])): 11 p = image[i, 1] 12 13 if p == 0: 14 r += 1 15 elif p == 255: 16 r = 0 17 if r == 5: 18 break 19 20if i - 5 < 0: 21 i = 0 22 print(i) 23else: 24 print(i - 5)
補足情報(FW/ツールのバージョンなど)
python 3.8.10
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/21 08:32