[OpenCV] Convert RGB to Web-Safe Colors

Convert RGB to Web-Safe Colors


#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int convertToWebSafe(int color) {
//0 51 102 153 204 255
// 25 76 127 178 229
if (color >= 229)
return 255;
else if (color >= 178)
return 204;
else if (color >= 127)
return 153;
else if (color >= 76)
return 102;
else if (color >= 25)
return 51;
else
return 0;
}
int main()
{
Mat3b image= imread("C:/img/Fig0608(RGB-full-color-cube).tif");//image
Mat3b srcImage = imread("C:/img/Fig0608(RGB-full-color-cube).tif");//src image
int i, j;
int r, g, b;
printf("%d,%d",image.size().width, image.size().height);
for (i = 0; i < image.size().width;i++) { //access each pixel
for (j = 0; j < image.size().height;j++) {
b = image.at<cv::Vec3b>(j, i)[0]; //b
g = image.at<cv::Vec3b>(j, i)[1]; //g
r = image.at<cv::Vec3b>(j, i)[2]; //r
//
image.at<cv::Vec3b>(j, i)[0] = convertToWebSafe(b);
image.at<cv::Vec3b>(j, i)[1] = convertToWebSafe(g);
image.at<cv::Vec3b>(j, i)[2] = convertToWebSafe(r);
//printf("%d", image.at<cv::Vec3b>(j, i)[0]);
}
}
imshow("web safe", image);
imshow("src", srcImage);
waitKey(0);
return 0;
}

留言

這個網誌中的熱門文章

[Arduino]電子秤平 重量感測條+HX711AD模組

cpe練習筆記 UVa401 Palindromes

[PHP,MySQL]圖片上傳和讀取 使用base64_encode & base64_decode