怎样使用Python图像处理

2024-05-09

1. 怎样使用Python图像处理

安装一个 PIL(python imageing Library)
拥有常见的操作 
缩放 模糊  旋转 切片 滤镜 输出文字 调色板
等等

怎样使用Python图像处理

2. 怎样用python实现图像去噪

#coding:utf-8import sys,osfrom PIL import Image,ImageDraw#二值数组t2val = {}def twoValue(image,G):    for y in xrange(0,image.size[1]):        for x in xrange(0,image.size[0]):            g = image.getpixel((x,y))            if g > G:                t2val[(x,y)] = 1            else:                t2val[(x,y)] = 0# 降噪 # 根据一个点A的RGB值,与周围的8个点的RBG值比较,设定一个值N(0 <N <8),当A的RGB值与周围8个点的RGB相等数小于N时,此点为噪点 # G: Integer 图像二值化阀值 # N: Integer 降噪率 0 <N <8 # Z: Integer 降噪次数 # 输出 #  0:降噪成功 #  1:降噪失败 def clearNoise(image,N,Z):    for i in xrange(0,Z):        t2val[(0,0)] = 1        t2val[(image.size[0] - 1,image.size[1] - 1)] = 1        for x in xrange(1,image.size[0] - 1):            for y in xrange(1,image.size[1] - 1):                nearDots = 0                L = t2val[(x,y)]                if L == t2val[(x - 1,y - 1)]:                    nearDots += 1                if L == t2val[(x - 1,y)]:                    nearDots += 1                if L == t2val[(x- 1,y + 1)]:                    nearDots += 1                if L == t2val[(x,y - 1)]:                    nearDots += 1                if L == t2val[(x,y + 1)]:                    nearDots += 1                if L == t2val[(x + 1,y - 1)]:                    nearDots += 1                if L == t2val[(x + 1,y)]:                    nearDots += 1                if L == t2val[(x + 1,y + 1)]:                    nearDots += 1                if nearDots < N:                    t2val[(x,y)] = 1def saveImage(filename,size):    image = Image.new("1",size)    draw = ImageDraw.Draw(image)    for x in xrange(0,size[0]):        for y in xrange(0,size[1]):            draw.point((x,y),t2val[(x,y)])    image.save(filename)image = Image.open("d:/1.jpg").convert("L")twoValue(image,100)clearNoise(image,4,1)saveImage("d:/5.jpg",image.size)

3. python如何实现类似matlab的小波滤波?

T=wpdec(y,5,'db40');%信号y进行波包解层数5T波树plot看a10=wprcoef(T,[1,0]);%a10节点[1,0]进行重构信号貌似没层重构说吧能某层某节点进行重构节点编号波树
%以下为滤波程序(主要调节参数c的大小)c=10;wn=0.1;fs=50000; %采样频率;b=fir1(c,wn/(fs/2),hamming(c+1));y1=filtfilt(b,1,y);%对y滤波。

python如何实现类似matlab的小波滤波?

4. Python的pywavelet如何实现 matlab的小波算法系数重构的信号,matlab算法如下

T=wpdec(y,5,'db40');
%信号y进行波包解层数5T波树plot看
a10=wprcoef(T,[1,0]);
%a10节点[1,0]进行重构信号貌似没层重构说吧能某层某节点进行重构节点编号波树看

5. Python的pywavelet如何实现 matlab的小波算法系数重构的信号,matlab算法如下

pywt.waverec(coeffs, wavelet, mode='symmetric', axis=-1)
It may sometimes be desired to run waverec with some sets of coefficients omitted. This can best be done by setting the corresponding arrays to zero arrays of matching shape and dtype. Explicitly removing list entries or setting them to None is not supported.

Specifically, to ignore detail coefficients at level 2, one could do:
coeffs[-2] = np.zeros_like(coeffs[-2])

##################################################################
coeffs=pywt.wavedec(data_current,'db6',level=3)
for i in range(1,4):
coeffs[i] = np.zeros_like(coeffs[i])
A3 = pywt.waverec(coeffs, 'db6')

Python的pywavelet如何实现 matlab的小波算法系数重构的信号,matlab算法如下

6. 有谁熟悉python里的小波变换pywt.wavelet么

T=wpdec(y,5,'db40'); %信号y进行波包解层数5T波树plot看 a10=wprcoef(T,[1,0]); %a10节点[1,0]进行重构信号貌似没层重构说吧能某层某节点进行重构节点编号波树看

7. python中怎么实现改figure标题的功能

plt.figure('测试')     # 字符串或数字 作为figure窗口的标题
plt.plot(x, y)
plt.show()
---
Python 3.7.3 可行。

python中怎么实现改figure标题的功能

8. python里的问题 ,pywt.dwt(signal,'db1','sym')这个函数

噪声能获取吗?好吧。你可以试试减一减。不过你的测试用例不太对。 尽量用有规律的数据去做。

比如你可以做一个正弦函数,再人为的加上一点点扰动。再做小波变换看看。另外数据要多些。太短的数据看不出效果来。

至于变换后是两个4,我想等你数据弄多些就明白了。 数据多些,就容易做图。你把变换后的数据变成图形,画出来。可以用EXCEL来画。 


这样一对比就明白变换后的两个4数组是什么数据。 然后你就可以针对性的处理。取得噪声也是可以的。

通常来讲噪声是没有规律的。 但是不排除它是另外一种规律迭加上去的。 试试看。