Python图像处理 —— DCT变换

Posted on 2020-05-02  373 Views


图像的DCT变换

python实现

这里去除了图像的低频部分,进行dct变换后得到图像的骨架

import cv2
import numpy as np

# 读取图像
img = cv2.imread('../res/img/baboon.bmp')
# 灰度化
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 显示原图
cv2.imshow('img', img)
# 获取图像宽高
height, width = img.shape
# 对图像进行dct变换
img_dct = cv2.dct(np.array(img, np.float32))
# 去除部分低频信息
img_dct[0:100, 0:100] = 0
# 进行反dct变换
img_idct = np.array(cv2.idct(img_dct), np.uint8)
# 显示图像
cv2.imshow('img_dct', np.array(img_dct, np.uint8).reshape(width, height))
cv2.imshow('img_idct', img_idct.reshape(width, height))
cv2.waitKey(0)

CV Tool小工具中的操作

灰度图DCT

读取图像

进行灰度化

选定DCT去除的信息,进行DCT变换

得到效果图

彩色图像DCT变换

打开图像

选定DCT去除的信息,进行DCT变换

得到效果图


粉色的花瓣,美丽地缠绕在身上。依在风里。