如何将彩色图片转换成灰白图片

 

http://desktoppub.about.com/od/scanninggraphics/ss/color_to_bw_3.htm

Corel Photo-Paint: Image > Convert to... > Grayscale (8-bit) 

Adobe Photoshop: Image > Mode > Grayscale 

Adobe Photoshop Elements: Image > Mode > Grayscale (say OK when asked "Discard Color Information?") 

Jasc Paint Shop Pro: Colors > Grey Scale

 

http://www.gimp.org/tutorials/Color2BW/#grayscale

<Image> Image -> Mode -> Grayscale

 

手册中颜色空间转换有说明。

Y=0.299*R + 0.587*G + 0.114*B + 0*A。

 

OpenCV

cvCvtColor(image,gray,CV_BGR2GRAY);

下面是我用上述函数写的一个转换彩色图片为黑白的小程序源码
#include <stdio.h> #include <opencv/cv.h> #include <opencv/highgui.h> int main(int argc, char** argv) { char* srcfile = NULL; char* dstfile = NULL; IplImage* src = NULL; IplImage* dst = NULL; int param[3]; if (argc != 3) { fprintf(stderr, "usage:/n/t%s srcfile dstfile/n", argv[0]); exit(-1); } srcfile = argv[1]; dstfile = argv[2]; src = cvLoadImage(srcfile, -1); if (!src) { fprintf(stderr, "can not load image %s/n", srcfile); exit(-1); } dst = cvCreateImage(cvGetSize(src), 8, 1); if (!dst) { fprintf(stderr, "can not create image %s/n", dstfile); exit(-1); } cvCvtColor(src, dst, CV_RGB2GRAY); param[0] = CV_IMWRITE_JPEG_QUALITY; param[1] = 100; param[2] = 0; cvSaveImage(dstfile, dst, param); return 0; } 
编译
gcc -o rgb2gray rgb2gray.c `pkg-config opencv --cflags --libs`
运行
./rgb2gray before.jpg after.jpg

 

你可能感兴趣的:(image,gcc,Adobe,DST,colors)