date: 2024-09-06
title: "Signal and Image Processing"
status: DONE
author:
  - AllenYGY
tags:
  - NOTE
  - Computer-Vision
publish: TrueSignal and Image Processing
from matplotlib import pyplot as p
import numpy.random as r
I = r.rand(256,256)*0.5;
p.imshow(I ,cmap='gray', vmin=0.0,vmax=1.0);
p.show();
rand(256,256) 生成一个 256x256 的随机矩阵, 值在 0-1 之间cmap = 'gray' 表示使用灰度图显示	vmin 和 vmax 分别表示最小值和最大值 matplotlib.pyplot.imshow() 函数用于显示图像, 一般可以自动数值normalize到 0-1 之间vmin 和 vmax 可以指定normalize的范围8 bit image: 256 gray levels

等间隔采样


Four views of filtering
系数
用于边缘检测
Check horizontal edge 横边
相当于计算两侧的差值,差值越大,当前位置是边缘

h=scipy.signal.correlated2d(f,I)
h=scipy.signal.convolve2d(f,I)
线性滤波器的线性性意味着,对于输入图像  I  以及两个滤波器  f_1  和  f_2 ,对图像应用滤波器的结果等于先将滤波器相加,再应用一次滤波,或者分别应用每个滤波器,再将结果相加。
换句话说,滤波操作对滤波器的加法是可交换的,可以直接作用于滤波器的线性组合。
平移不变性指的是滤波器的输出与像素位置无关,意思是无论图像中的像素在什么位置,滤波器对强度的操作结果都是相同的。也就是说,滤波器的应用不会因为图像的某个区域平移而改变输出。
在公式中,如果我们先将滤波器  f  平移,再对图像  I  进行滤波,这与先对图像  I  进行滤波,然后再平移滤波结果是等价的。
Any linear, shift-invariant operator can be represented as a convolution.


f = D[ 57:117, 107:167 ]
f2 = f – np.mean(f)
D2 = D – np.mean(D)
I2 = correlate2d( D2, f2, 'same' )

Now zero centered.
Score is higher only when dark parts
match and when light parts match.
通过将图像和子区域的均值归零,相关得分在模板的暗区和亮区与图像相应区域匹配时才会较高。这避免了只匹配亮度(而不考虑结构)的高得分情况。
选择窗口内的中位数/平均数
中值滤波器:
均值滤波器: