数字图像处理 第四章 P157 小错误
问题
我认为P157中部的卷积公式是错的,f(x)h(x-m)应当写为f(m)h(x-m)
解决方法
为了证明,我就用我蹩脚的python实现一下图4.28左列
源代码如下
import numpy as np
import matplotlib.pyplot as plt m = np.arange(-1000,1000)#本来想设置为0-1000呢,但是有h(-m)存在,只能设置为(-1000,1000) #实现函数f(m)并绘制
fm = np.zeros(2000)
fm[1000:1300] = 3
f1 = plt.figure(1)
p1 = plt.subplot(511)
p1.plot(m,fm)
plt.xlabel('m')
plt.ylabel("f(m)")
plt.xlim(-1000,1000) #实现h(m)
hm = np.zeros(2000)
hm[1000:1200] = 2
p2 = plt.subplot(512)
p2.plot(m,hm)
plt.xlabel('m')
plt.ylabel("h(m)")
plt.xlim(-1000,1000) #实现h(-m)
h_m = np.zeros(2000)
for i in range(2000):
h_m[i] = hm[1999-i]#哈哈,初中的知识诶
p3 = plt.subplot(513)
p3.plot(m,h_m)
plt.xlabel('m')
plt.ylabel("h(-m)")
plt.xlim(-1000,1000) #实现h(x-m)
x = 800
h_x_m = np.zeros(2000)
h_x_m[800:2000] = h_m[800-x:2000-x]#左加右减,至于为啥选800-2000,这是为了适应x的值,x的范围是0-800
p4 = plt.subplot(514)
p4.plot(m,h_x_m)
plt.xlabel('m')
plt.ylabel("h(x-m)")
plt.xlim(-1000,1000) #实现f(x)卷积g(x)
fx_gx = np.zeros(2000)
for x in range(800):
h_x_m[800:2000] = h_m[800 - x:2000 - x] # 左加右减
sum = 0
for m_temp in range(400):
sum += fm[1000+m_temp]*h_x_m[1000+m_temp]
fx_gx[1000+x] = sum
p5 = plt.subplot(515)
p5.plot(m,fx_gx)
plt.xlabel('m')
plt.ylabel("f(x)*g(x)")
plt.xlim(-1000,1000) plt.show()
使用f(m)h(x-m),得到书中的结果,如下:
和书中的结果相同,若使用f(x)h(x-m),得到如下结果:
与书中结果不一致
结论
f(x)h(x-m)应当写为f(m)h(x-m)
数字图像处理 第四章 P157 小错误的更多相关文章
- c语言数字图像处理(四):灰度变换
灰度变换 灰度变换函数 s = T(r) 其中r为输入图像在(x, y)点处的灰度值,s为输出图像在(x, y)点处的灰度值 灰度变换的作用 上图所示的两幅T(s)函数的图像曲线,第一幅图可以增强 ...
- c#数字图像处理(四)线性点运算
灰度图像的点运算可分为线性点运算和非线性点运算两种.4.1线性点运算定义线性点运算就是输出灰度级与输入灰度级呈线性关系的点运算.在这种情况下,灰度变换函数的形式为: g(x, y)=pf(x,y)+L ...
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说,主要通过MFC单文档视图实现显示BMP图片空间几何变换.包含图像平移.图形 ...
- 【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理具体解释
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说.主要通过MFC单文档视图实现显示BMP图片点运算处理.包含图像灰度线性变换 ...
- 《数字图像处理(MATLAB)》冈萨雷斯
<数字图像处理(MATLAB)>冈萨雷斯 未完结! 参考:数字图像处理——https://blog.csdn.net/dujing2019/article/category/8820151 ...
- 《HALCON数字图像处理》第四章笔记
目录 第四章 HALCON数据结构 HALCON Image图像 图像通道 HALCON Region区域 Region的初步介绍 Region的点与线 Region的行程 Region的区域特征 H ...
- 数字图像处理(MATLAB版)学习笔记(2)——第2章 灰度变换与空间滤波
0.小叙闲言 1.本章整体结构 2.书中例子 例2.1 主要是使用函数imadjust,来熟悉一下灰度处理,体验一把 >> imread('myimage.jpg'); >> ...
- 《HALCON数字图像处理》第一、二章笔记
目录 第一章 绪论 1.1 图像和图像处理 1.1.1 图像 1.1.2 数字图像 1.1.3 图像处理及其发展过程 1.2 数字图像处理的步骤和方法 1.3 数字图像处理系统的硬件组成 1.4 数字 ...
- 数字图像处理(MATLAB版)学习笔记(1)——第1章 绪言
0.下定决心 当当入手数字图像处理一本,从此开此正式跨入数字图像处理大门.以前虽然多多少少接触过这些东西,也做过一些相关的事情,但感觉都不够系统,也不够专业,从今天开始,一步一步地学习下去,相信会有成 ...
随机推荐
- 一个工作了四年的java程序员的心得体会
年底了,该给自己写点总结了!从毕业到现在已经快4年啦,一直在Java的WEB开发行业混迹.我不是牛人,但是自我感觉还算是个合格的程序员,有必要写下自己将近4年来的经历,给自我以提示,给刚入行的朋友提供 ...
- Android studio 使用夜神模拟器
首先参考这个:http://blog.csdn.net/jssongwei/article/details/50771441 然后我发现就是一个端口问题
- java.math.BigDecimal转换double double转换java.math.BigDecimal
有方法 java.math.BigDecimal.doubleValue() BigDecimal a = new BigDecimal(1000);return a.doubleValue(); p ...
- Ubuntu apt update卡在Connecting to security.ubuntu.com解决方法
Ubuntu操作系统运行apt update命令时会卡在Connecting to security.ubuntu.com,搭了梯子也无法解决 尝试了网络上的方法,如: https://blog.cs ...
- (私人收藏)Linux命令大全(修正版)
Linux命令大全(修正版) https://pan.baidu.com/s/1tPTv1PzCelBC_Eq-ASAOBg1yp3 文件传输 bye ftp ftpcount ftpshut ftp ...
- springboot集成springDataJpa
1.引用依赖 <!--spring-data-jpa--> <dependency> <groupId>org.springframework.boot</g ...
- zookeeper搭建和kafka搭建
zookeeper和kafka都是基于java的 zookeeper 1.安装jdk 官网下载rpm文件 rpm -ivh 文件.rpm 2.下载zookeeper tar -xv 压缩文件 -C 目 ...
- 使用 PostCSS 进行 CSS 处理
在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演化之中.这给开发人员带来了效率上 ...
- How many ways?? HDU - 2157 矩阵快速幂
题目描述 春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, 葱头决定, 每次上课都走不同的 ...
- 深度学习论文翻译解析(九):Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
论文标题:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 标题翻译:用于视觉识别的深度卷积神 ...