数字图像处理 第四章 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.下定决心 当当入手数字图像处理一本,从此开此正式跨入数字图像处理大门.以前虽然多多少少接触过这些东西,也做过一些相关的事情,但感觉都不够系统,也不够专业,从今天开始,一步一步地学习下去,相信会有成 ...
随机推荐
- 打个总结:Web性能优化
前段时间优化一个公司历史老项目的Web性能,却引出了一系列的问题,让我反思良多. 我通过Chrome的Lighthouse工具可以看出一些性能参数和问题反馈,我逐一对其进行优化. 根据资源请求的不同, ...
- linux最小化安装命令补全
bash-completion 需要安装bash-completion才能补全,安装后,重新打开一个窗口就能生效.
- vue 入门, todoList
# 实现逻辑: > * 技术栈> 1. 生命周期,creatd( 创建后执行)> 2. methods': 调用事件方法,结果不会缓存> 3. Watch : 监听器,监听输 ...
- 深入理解跨域SSO单点登录原理与技术
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 一:SSO体系结 ...
- JavaWeb网上图书商城完整项目--24.注册页面的css样式实现
现在框架已经做好了,即下来我们要对页面进行装饰了,第一步给每一个元素添加id 1.最外面的div添加id为divMain 2.第二个div添加id为divTitle,里面的span对应的id为span ...
- Git【入门】这一篇就够了
前言 欢迎关注公众号,白嫖原创PDF,也可以催更,微信搜:JavaPub,回复:[666] Git 在生产工作中是使用频率很高的工具,但我发现很多文章只是对它做了简单的提交命令说明,真正遇到 版本冲突 ...
- EDM邮件制作
EDM营销(Email Direct Marketing)也叫:Email营销.电子邮件营销.是指企业向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售的一种营销手 ...
- 如何在使用spring boot的时候,去掉使用tomcat
在spring boot中引入spring-boot-starter-web依赖的时候,不想使用spring boot提供的tomcat怎么办呢? 如下配置则可以解决问题: <dependenc ...
- JavaScript基础尽量少使用全局变量(001)
Pattern意思是模式,好的编码习惯经过多次实践的应用就会形成模式,而反模式(Anti-Pattern)则是不好的编码习惯.了解 JavaScript模式之前,先来看看Anti-pattern的例子 ...
- 痞子衡嵌入式:kFlashFile v1.0 - 一个基于Flash的掉电数据存取方案
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的个人小项目 - kFlashFile. 痞子衡最近在参与一个基于 i.MXRT1170 的项目,项目有个需求,需要在 Flash 里实 ...