アルファチャンネルを持つ QImage がある場合、不透明領域のバウンディングボックスにトリミングされた新しい QImage を作成するにはどうすればよいですか?
1564 次
2 に答える
1
これを行う別のSO回答(C ++で)を見つけました:
Qtには画像のバウンディングボックスを見つける方法がありますか?
def bbox(p):
bounding-box-of-an-image
l = p.width()
t = p.height()
r = 0
b = 0
for y in range(p.height()):
rowFilled = False
for x in range(p.width()):
if qAlpha(p.pixel(x, y)):
rowFilled = True
r = max(r, x)
if l > x:
l = x
if rowFilled:
t = min(t, y)
b = y
return QRect(QPoint(l, t), QPoint(r, b))
しかし、これを行うためのより良い/より速い方法があれば素晴らしいでしょう。
于 2012-08-09T16:45:21.033 に答える
1
あなたが達成しようとしているのは、画像処理の一部です。これは QImage の標準操作ではありません。ピクセルを調べて、バウンディング ボックスを計算する必要があります。そのような操作に適している cv libs coz を使用することをお勧めします。
于 2012-08-10T05:25:37.137 に答える