2017-04-17 3 views
1

i zu lesen, wie bestimmte Pixelwerte in Opebcv c ersetzen ++ ist wie der Code unterOpenCV spezifische Pixelwerte mit einem anderen Wert in Java ersetzt

Mat src; 
// ... src is CV_32S 

double oldVal = 0.0; 
double newVal = Double.MIN_VALUE; 

src.setTo(newVal, src == oldVal); 

aber nachdem ich mehr lesen fand ich heraus, dass logischer Operator auf Mat arbeite nicht an Java. also wie kann ich etwas tun, das dem obigen Code ähnlich ist, weil ich Matte brauche, die Null nicht haben, um Teiler zu sein.

bearbeiten 1: cv :: Schwelle nicht funktionieren würde becasue meine Matte CV_32S ist, so könnte die Zahl negative Zahlen sein

Antwort

1

Sie müssen möglicherweise in OpenCV compare API suchen, für die Gleichstellung von jedem Element überprüfen Matrix mit einem Skalar unter Verwendung CMP_EQ Flag und das würde Ihnen eine binäre Maske, die später als zweiter Parameter in src.setTo()

CMP_EQ Flag erhalten werden kann
Verwandte Themen