OpenCVを使ってLenaさんを減色にする。(0005)
Lenaさん画像は256x256x256の16777216色だが、減色して64色にしてみる。
256を64で割ると各色4種類。4x4x4=64色、減色にともなって暗くなるので
ちょっと明るくする加工を少し追加。
//画面をだすよ void display(cv::Mat image) { //名前をつける std::string windowName = "windowName"; cv::namedWindow(windowName); //画面位置固定 cv::moveWindow(windowName,100,100); //画面出た!! cv::imshow(windowName, image); //なにかキーをおして~ cv::waitKey(0); //整理整頓 cv::destroyWindow(windowName); } // // ここから // int main(int argc, char** argv) { //lenaさん登場!! cv::Mat lena = cv::imread("lena.jpg"); int cols = lena.cols; int rows = lena.rows; int reduce = 256 / 4; for (int j = 0; j < rows-10; j++) { for (int i = 0; i < cols ; i++) { for (int k = 0; k < 3 ; k++) { image.at<cv::Vec3b>(j, i)[k] = lena.at<cv::Vec3b>(j, i)[k] / reduce * reduce + reduce/2; } } } //画面に出して!! display(image); }
オリジナルLenaさん
減色Lenaさん