使用PyCharm完成数字图像处理,图像的灰度变换与空间滤波

本文介绍了数字图像处理实验中的关键步骤,包括灰度图像直方图分析、直方图均衡化、灰度变换增强、噪声去除(高斯白噪声和中值滤波)、以及图像锐化(Laplace和Sobel算子)。通过实例展示了这些技术在提升图像质量上的应用。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


数字图像处理实验

进行实验2


提示:以下是本篇文章正文内容,下面案例可供参考

一、实验内容

二、实验内容
(1) 读入灰度图像,分析其直方图特征,并使用直方图均衡法对图像进行处理;
(2) 采用灰度变换增强图像;
(3) 使用多幅高斯白噪声图像平均去除高斯白噪声;
(4) 使用中值滤波去除噪声;
(5) 分别用 Laplace 算子和 sobel 算子实现图像的锐化增强。

二、实验代码

1.引入库

代码如下(示例):

# -*- codeing = utf-8 -*-
# @Time : 2022/4/20
# @File : ShiYan2.py
# @Software: PyCharm
import cv2
import matplotlib.pyplot as plt
import matplotlib.image as Img
import numpy as np
import math
from PIL import Image
#(1)读入灰度图像,提取该图像的灰度直方图。
def show(img):
    if img.ndim ==2:
        plt.imshow(img,cmap='gray')
    else:
        plt.imshow(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
    plt.show()
    return
def normalization(data):
    data = data/np.sum(data)
    return data


def salt(image, prob):
    output = np.zeros(image.shape, np.uint8)
    thres = 1 - prob
    for i in range(image.shape[0]):
        for j in range(image.shape[1]):
            rdn = np.random.random()
            if rdn < prob:
                output[i][j] = 0
            elif rdn > thres:
                output[i][j] = 255
            else:
                output[i][j] = image[i][j]
    return output


def My1(img):
    #采用柱状图绘制
    #读取图像转为灰度
    src = np.array(img.convert("L"))
    plt.show()
    colors =[]
    #记录每一个灰度值的像素
    if not colors:
        for i in range(256):
            colors.append(np.sum(src == i))
    pixels = [i for i in range(256)]
    #转变为概率分布
    c = normalization(colors)
    #减少运算时间
    src_for_hist = src.reshape(1,-1).tolist()
    show(src)
    plt.figure()
    plt.bar(pixels,c)
    plt.figure()
    plt.hist(src_for_hist,bins=255,density=1)
    plt.show()
#方法2直接用函数
    hist = cv2.calcHist([img],[0],1,[256],[0,256])



def My2(img):
    src = np.
  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值