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さん