图像处理的几种常见算法

2019-06-20  本文已影响0人  autisticBoy

256位图转灰度图

算法介绍(百度百科):

什么叫灰度图?任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:   
1.浮点算法:Gray=R0.3+G0.59+B0.11   
2.整数方法:Gray=(R
30+G59+B11)/100   
3.移位方法:Gray =(R28+G151+B*77)>>8;   
4.平均值法:Gray=(R+G+B)/3;   
5.仅取绿色:Gray=G;

灰度图

通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

opencv实现

mport cv2
import numpy as np

if __name__ == "__main__":
    img_path = "timg.jpg"
    img = cv2.imread(img_path)
    #获取图片的宽和高
    width,height = img.shape[:2][::-1]
    #将图片缩小便于显示观看
    img_resize = cv2.resize(img,
    (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
    cv2.imshow("img",img_resize)
    print("img_reisze shape:{}".format(np.shape(img_resize)))

    #将图片转为灰度图
    img_gray = cv2.cvtColor(img_resize,cv2.COLOR_RGB2GRAY)
    cv2.imshow("img_gray",img_gray)
    print("img_gray shape:{}".format(np.shape(img_gray)))
    cv2.waitKey()

fwt算法(还不会)

二值化变化

定义

图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。 一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的最特殊的方法,称为图像的二值化(Binarization)。

opencv实现

二值化opencv+python

傅立叶变换

傅立叶变化的解释

https://blog.csdn.net/v_JULY_v/article/details/6196862

傅立叶变化在图像处理中的作用

https://blog.csdn.net/masibuaa/article/details/6316319

opencv的实现

https://blog.csdn.net/keith_bb/article/details/53389819

上一篇下一篇

猜你喜欢

热点阅读