概要
彩度はRGB表色系のままだといじりにくい。
HSV表色系にするとSで表される。
このサンプルを通して、OpenCVでの色の扱いを勉強しよう。
このサンプルを通して、OpenCVでの色の扱いを勉強しよう。
実装
int main() {
// 画像を読み込む
string fileName = "images\\gori.jpg";
Mat originalImage = imread(fileName, CV_LOAD_IMAGE_COLOR);
// 元の画像を表示
imshow("out", originalImage);
waitKey(0);
// BGRからHSVに変換
Mat hsvImage;
cvtColor(originalImage, hsvImage, CV_BGR2HSV);
// H, S, V にわける
vector<Mat> planes;
split(hsvImage, planes);
// S の値だけ半分にする
planes[1] *= 0.5;
// HSV画像に戻す
merge(planes, hsvImage);
// HSVからBGRに変換
cvtColor(hsvImage, originalImage, CV_HSV2BGR);
// 表示
imshow("out", originalImage);
waitKey(0);
return 0;
}
解説
とくにない。
画像のパスは各自で変更する。
結果
![]() |
| 変換前 |
![]() |
| 変換後 |



0 件のコメント:
コメントを投稿