iOSでOpenCVである座標のHSV情報を取得する

iOSでopencv4のライブラリをインポートして画像を解析する。

色のレンジが知りたいので実験、検証をする。

まずPreviewでHSV(0, 100, 100)で埋め尽くした画像H0_S100_V100.pngと、

HSV(350, 100, 100)で埋めたH350_S100_V100.pngを作成する。

iOSで画像を取得し、UIImageからMat形式に変換、色情報をHSVに変換し、

cv:splitで3channelに分割して任意の座標を取得する。

配列の0がH, 1がS, 2がVである。

1pixelのみだと不安なのでざっくりRect(30, 30, 100, 100)までを取得する。


        for (int j=30; j<130; j++) {

for (int k=30; k<100; k++) {

int h = mat_channels[0].at<uchar>(j, k);

int s = mat_channels[1].at<uchar>(j, k);

int v = mat_channels[2].at<uchar>(j, k);

std::cout << h << "," << s << "," << v << std::endl;

}

}



・H0_S100_V100.pngでの取得結果

H:2

S:217

V:234

0(期待値)->2に、SとVもなんか統一感がない


・H350_S100_V100.pngの取得結果

H:179

S:199

V:234

175(期待値)-> 179


【推測】

また、これからわかるのはOpenCVではおそらくHのRangeが0-180であること。

S,Vはおそらく255がMaxであるということ。


・補足的に緑も取得

結果:52,178,251

北信に単身赴任したら最高だった

信州北部に住むタンパク質を愛するプログラマの日常 ~ Awesome Shinshu !! ~

0コメント

  • 1000 / 1000