python 图像灰度均值_通过使用Python中的用户定义的均值模糊过滤器对灰度图像执行模糊操作来使图像平滑...

python 图像灰度均值

Image Blurring refers to making the image less clear or distinct. The Mean Filter often used to remove noise from an image or signal.

图像模糊是指使图像不太清晰或鲜明。 均值滤波器通常用于去除图像或信号中的噪声。

In this program, we will be using two functions of OpenCV-python (cv2) module.. let's see their syntax and descriptions first:

在此程序中,我们将使用OpenCV-python(cv2)模块的两个功能。.让我们首先查看它们的语法和说明:

1) imread():
It takes an absolute path/relative path of your image file as an argument and returns its corresponding image matrix.

1)imread():
它以图像文件的绝对路径/相对路径作为参数,并返回其对应的图像矩阵。

If flag value is:

如果标志值为:

  • 1: Loads a color image.

    1 :加载彩色图像。

  • 0: Loads image in grayscale mode.

    0 :以灰度模式加载图像。

  • -1: Loads image as such including alpha channel.

    -1 :加载图像,包括alpha通道。

If the flag value is not given then show the original image, which path is given.

如果未给出标志值,则显示原始图像,并给出哪个路径。

2) imshow():
It takes window name and image matrix as an argument in order to display an image in a display window with a specified window name.

2)imshow():
它以窗口名称和图像矩阵为参数,以便在具有指定窗口名称的显示窗口中显示图像。

Also In this program, we will be using one function of numpy module.

同样在此程序中,我们将使用numpy模块的一个功能。

mean(): It takes array and returns the mean of the array.

mean():获取数组并返回数组的均值。

Also, in this program we are using the concept of array slicing

另外,在此程序中,我们使用数组切片的概念

Let, A is 1-d array:
A[start:stop:step]

设A为一维数组:
A [开始:停止:步骤]

  1. start: Starting number of the sequence.

    start:序列的起始编号。

  2. stop: Generate numbers up to, but not including this number.

    停止:生成不超过此数字的数字,但不包括此数字。

  3. step: Difference between each number in the sequence.

    步骤:序列中每个数字之间的差。

Example:

例:

    A = [1,2,3,4,5,6,7,8,9,10]
    print(A[ 1: 5])

    Output:
    [2,3,4,5]

Python程序,用于通过使用用户定义的均值来平滑灰度图像 (Python program for smoothen a grayscale image by using user-defined mean)

# import cv2 module
import cv2

# import numpy module as np
import numpy as np

# Define a function for performing
# Mean Blur on images
def MeanBlur(img,size) :
    Ic = img

    # run a loop from half of the size + 1 to  upto
    # number of rows present in the image
    for i in range(size//2 + 1, Ic.shape[0]) :
        
        # run a loop  from half of the size + 1 upto
        # number of columns present in the image
        for j in range(size//2 +1, Ic.shape[1]) :

            # Take a sub-matrix of specifed order form Ic image matrix 
            N = Ic[i-size//2 : i+ size//2 + 1, j - size//2: j+ size//2 + 1]

            # find out mean of submatrix
            mean = np.mean(N)

            # assing that mean value to the specified pixel coordinates 
            img[i, j] = mean

    # return blur image
    return img


# Driver code
if __name__ == "__main__" :

    # read an image using imread() function of cv2
    # we have to  pass the path of the image
    # and tha value of flag which is optional
    img = cv2.imread(r'C:\Users\user\Desktop\pic6.jpg',0)

    # displaying the gray scale image
    cv2.imshow('original image',img)

    # order of the submatrix
    order = 5

    # MeanBlur function calling
    img = MeanBlur(img,order)

    # displaying the smoothen image
    cv2.imshow("smooth image",img)

Output

输出量

python 图像灰度均值_通过使用Python中的用户定义的均值模糊过滤器对灰度图像执行模糊操作来使图像平滑..._第1张图片

翻译自: https://www.includehelp.com/python/smoothen-the-image-by-performing-blurring-operation-on-a-grayscale-image-using-user-defined-mean-blur-filter.aspx

python 图像灰度均值

你可能感兴趣的:(python,java,opencv,linux,机器学习)