orc

  1. 输入图片预处理1
import cv2
import matplotlib.pyplot as  plt
import numpy as np


def get_gray_pic(img_path):
    """
    获取灰度图片
    :param img_path:原图片路径
    :return: 灰度图片
    """
    img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
    return img


def amplify_tow_time(image):
    """
    将输入图片放大两倍,并返回
    :param image: 输入图片
    :return: 放大后的图片
    """
    shape = image.shape
    res = cv2.resize(image, (shape[0] * 2, shape[1] * 2), interpolation=cv2.INTER_CUBIC)
    return res


def save_pic(save_path, img):
    """
    保存图片
    :param save_path:保存路径
    :param img: 图片
    :return: None
    """
    cv2.imwrite(save_path, img)


def display_img(img):
    """
    显示图片,在输入 0 后 关闭图片
    :param img:
    :return:
    """
    cv2.imshow('img', img)
    cv2.waitKey(0)


def statistics_img_color_gradation(img):
    """
    统计图片色阶,并返回统计信息
    :param img: 图片
    :return: 色阶信息
    """
    return_info = {}
    shape = img.shape
    for i in range(shape[0]):
        for j in range(shape[1]):
            tmp_grade = img[i][j]
            times = return_info.get(tmp_grade)
            if times is None:
                return_info.setdefault(tmp_grade, 0)
            else:
                times = times + 1
                return_info[tmp_grade] = times
                pass
            pass
        pass
    return return_info


def display_color_grade(colo_info):
    """
    显示图片信息
    :param colo_info:
    :return: None
    """
    index = np.arange(0, 256, 1)
    y = []
    for i in index:
        tmp_value = colo_info.get(i)
        if tmp_value is None:
            y.append(0)
        else:
            y.append(tmp_value)
        pass
    plt.bar(left=index, height=y, color='green', width=0.5)
    plt.show()


def get_kernel_density(img_color_grade_info):
    """
    通过色阶数据获取核密度函数信息
    :param img_color_grade_info:色阶
    :return:核密度信息
    """
    kernel_function = np.divide(1, np.square(2 * np.pi)) *
    k = 0.1
    y = (1 / 256) * 0.1 *
    pass


if __name__ == '__main__':
    img_path = '1.png'
    # 获得灰度图片
    gray_img = get_gray_pic(img_path)
    # 放大两倍
    twice_img = amplify_tow_time(gray_img)
    img_color_grade_info = statistics_img_color_gradation(twice_img)
    kernel_density = get_kernel_density(img_color_grade_info)
    # display_color_grade(img_color_grade_info)

转载于:https://my.oschina.net/marjeylee/blog/1540233

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值