私のカスタム検出器では、画像をフレームから半分に分割して別々に処理したいと考えています。 これは私が私のカスタムDetector
で、これまでに得たものである:google-visionフレームを2つに分割する
val imageArray = frame?.grayscaleImageData?.array()
val upperImageBuffer = ByteBuffer
.allocate(imageArray?.size ?: 0)
.put(imageArray, 0, imageArray?.size?.div(2) ?: 0)
val upperFrame = Frame.Builder().
setImageData(upperImageBuffer,
frame?.metadata?.width ?: 0,
frame?.metadata?.height?.div(2) ?: 0,
frame?.metadata?.format ?: 16).
setRotation(frame?.metadata?.rotation ?: 0).
build()
val lowerFrame... etc
val upperDetections = delegateDetector.detect(upperFrame)
upperDetections.forEach { key, barcode ->
if (barcode is Barcode) results.append(key, barcode)
}
val lowerDetections = delegateDetector.detect(lowerFrame) etc.
これまでのところ、私は両方で同じ検出器を使用しています(これは私が全体のフレームよりも結果を認識するつもりかどうかを確認するために実際にあります - それは聞こえるほど愚かではあるが、私は質問をそのまま残す。おそらく、将来、誰かが画像の一部を1つの検出器で処理し、別のものを別の検出器で処理する必要があるからだ。
しかし、問題は次のとおりです。私は両方の半分で同じ結果を得て、実際には元のフレームと同じ結果になります。何が間違っていますか?
ええ、基本的に私は自分のコードで何が起こっているかについて完全に間違っていることを知りましたので、私はその質問を再び述べる必要があります。おそらく明日、残念ながら今はたくさんの仕事があります。それでも、私が使用し終わったのはそれでした。 – Antek