图像二值化等一些基本处理

继续记录与分享
在这里插入图片描述

import numpy as np
import cv2 as cv
from tqdm import tqdm
img = cv.imread('D:/3/001.0.png')
cv.namedWindow("input image", 0)
cv.imshow("input image",img)

读取并显示
在这里插入图片描述

def Gray_img(img):
    # img_gray = cv.cvtColor(img_2, cv.COLOR_RGB2GRAY)
    print(img.shape)
    (h, w, c) = img.shape
    img_b = img[:, :, 0]
    img_g = img[:, :, 1]
    img_r = img[:, :, 2]
    img_gray = img_r * 0.299 + img_g * 0.587 + img_b * 0.114   
    img_gray = img_gray.astype(np.uint8)  # (1)
    cv.namedWindow("gray",0)
    cv.imshow('gray', img_gray)
    #cv.waitKey(0)
    return img_gray


img_gray = Gray_img(img)

灰度图生成
在这里插入图片描述

h = img_gray.shape[0]
w = img_gray.shape[1]

## 唯一确定阈值
a = 150
image_sharpen = np.zeros((h,w),np.uint8)
for i in tqdm(range(h)):
    for j in range(w):
        if(img_gray[i,j]> a ):
            image_sharpen[i,j] = 255
        else:
            image_sharpen[i,j] = 0

#print(new_image)
cv.namedWindow("otsu",0)
cv.imshow("otsu",image_sharpen)

固定阈值二值化
可以看到效果比较差
在这里插入图片描述

def custom_blur_demo(image):
  kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32) #锐化
  dst = cv.filter2D(image, -1, kernel=kernel)
  cv.namedWindow("sharpen", 0)
  cv.imshow("sharpen", dst)

img_sharpen = custom_blur_demo(image_sharpen)
cv.waitKey()

图像锐化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值