图像灰度化的三种方法及MATLAB,VC+opencv,python+opencv的三种方法实现


标签:
灰度图像方法函数 |
分类: 图像处理 |
最近做有关图像处理方面的东西,顺便整理一下好方便查询
灰度化处理就是将一幅色彩图像转化为灰度图像的过程。彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程。灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素最下为0,为黑色)。
这种方法转换的灰度图亮度很高。
这种方法产生的灰度图像比较柔和。
http://s4/mw690/0064L9F9zy6TSD1Aa9t83&690时,得到的灰度图像效果最好。
MATLAB代码及效果图:
%%三种方法实现灰度化与调用MATLAB函数实现灰度化
close all;
clear all;
Img=imread('11.jpg');
[n m a]=size(Img);%判断图像的大小
GrayImage= rgb2gray(Img);%调用MATLAB函数实现灰度化
Img_Gray=zeros(n,m);
for x=1:n%通过双循环对图像进行灰度化处理
end
figure,imshow(Img);title('原图像')
figure,imshow(GrayImage);title('调用系统函数实现灰度化')
figure,imshow(uint8(Img_Gray));title('第三种方法')
效果图:
vc+opencv实现:
#include "stdafx.h"
#include "highgui.h"
#include "cv.h"
#include
#include
int _tmain(int argc, _TCHAR* argv[])
{
}
效果图:
#实现图像灰度化
import cv2
img = cv2.imread("11.jpg")
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow("Image", img)
cv2.imshow("grayImage", GrayImage)
cv2.waitKey (0)
cv2.destroyAllWindows()
效果图: