栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

图像处理之灰度化,二值化,腐蚀,膨胀

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图像处理之灰度化,二值化,腐蚀,膨胀

灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值。

二值图像(Binary Image)是指将图像上的每一个像素只有两种可能的取值或灰度等级状态

腐蚀就是将图像的边缘腐蚀掉。作用就是将目标的边缘的“毛刺”踢除掉。

膨胀就是将图像的边缘扩大些。作用就是将目标的边缘或者是内部的坑填掉。

使用腐蚀与膨胀,可以使目标表面更平滑。

import cv2
import numpy
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

def get_gray_scale(img_path):
    # 将图像灰度化
    img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
    print('大小:{}'.format(img.shape))
    print("类型:%s" % type(img))
    # 让书和背景分离,这里我们将图片二值化
    retVal, image = cv2.threshold(img, 100, 255, cv2.THRESH_BINARY)

    # 开始进行腐蚀操作
    corrosion_img = cv2.getStructuringElement(cv2.MORPH_CROSS, (10, 10))  ##腐蚀预处理,确定处理核的大小,矩阵操作
    img3 = cv2.erode(image, corrosion_img, iterations=10)  # 进行腐蚀操作
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
    expand_pic = cv2.dilate(img3, kernel)

    pic_matrix = numpy.array(expand_pic)
    print(pic_matrix)


    cv2.imshow('grayimg', expand_pic)
    cv2.waitKey(0)



if __name__=='__main__':
    # get the img_path
    sample_img_path = './sample1.jpg'
    get_gray_scale(sample_img_path)

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286208.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号