##結論
画像に点を描写する関数はざっと調べる限りなかった。
点を描写するプロセス
- 円を描写する関数を使用
- 関数内の半径を小さい値(1または2)とする
- 関数内で円内を塗りつぶすを有効(-1)にする
大きい画像に対して半径が小さすぎると、点を認識できなくなるかもしれません。
参考コード
drwa_dot.cpp
//入力画像
cv::Mat img;
//点の座標
cv::Point dot_P;
dot_P.x = 300;
dot_P.y = 400;
//点の半径
int dot_r = 2;
//色
cv::Scalar dot_S(0, 255, 255);
// -1 のとき円内を塗りつぶす
int draw_in = -1;
//点(円)を描写する関数
cv::circle(img, dot_P, dot_r, dot_S, draw_in, cv::LINE_AA);
ちなみに1チャンネルに3チャンネルを描写させても、1チャンネルのままです。
(当たり前ですよね。)
参考文献
下記のサイトに引数の詳しい説明があります。
opencv 2.2 documentation 描画関数
OpenCV2 プログラミングブック 4 描画処理
OpenCV 点群を内包する凸包を描画
C++版 OpenCVの基本 Matに直線 円 矩形 文字を描画する