美文网首页
图像处理的几种常见算法

图像处理的几种常见算法

作者: autisticBoy | 来源:发表于2019-06-20 17:20 被阅读0次

    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

    相关文章

      网友评论

          本文标题:图像处理的几种常见算法

          本文链接:https://www.haomeiwen.com/subject/cxqhqctx.html