OpenCV multiplizieren Sie Skalar und Matrix
Ich bin auf der Suche nach der einfachste Weg, um hinzuzufügen, zu subtrahieren eines skalaren Wertes mit einer opencv 2.0 cv::Mat
Klasse.
Meisten der bestehenden Funktion ermöglicht es nur die matrix-matrix-und matrix-Skalar-Operationen.
Ich bin auf der Suche für ein Skalar-matrix-Operationen.
Mache ich es derzeit, indem eine temporäre matrix mit dem gleichen skalaren Wert und die dabei benötigten arithmetischen operation. Beispiel unten..
Mat M(Size(100,100), CV_8U);
Mat temp = Mat::ones(100, 100, CV_8U)*255;
M = temp-M;
Aber ich denke, es sollte besser/einfacher Wege dies zu tun.
Irgendwelche Vorschläge ?
InformationsquelleAutor jarjarbinks | 2010-05-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Sie nicht initialisieren einer Matte Ausdruck aus einem int oder double. Die Lösung ist die Verwendung von cv::Scalar, auch für single-channel-Matrizen:
Sehen http://docs.opencv.org/modules/core/doc/basic_structures.html#matrixexpressions für eine Liste der möglichen Mat-Ausdrücke.
InformationsquelleAutor Martin
Vielleicht ist das ein feature von 2.1 oder irgendwo zwischen 2.1 und der aktuellen trunk-version, aber diese funktioniert gut für mich:
Kanäle kommt:
So, sicher, verwenden Sie einfach einen skalaren Ausdruck, zumindest in 2.1 /aktuelle SVN-Zweig; was passiert, wenn Sie versuchen, die oben in 2.0 ?
InformationsquelleAutor peter karasev