- ISBN
- 9787030240873 [1]
- 作 者
- 孙即祥 [1]
- 定 价
- 35.00 元
- 书 名
- 图像处理
- 出版时间
- 2009年11月
- 开 本
- 16开
- 出版社
- 科学出版社
-
2022-03-23 11:07:32
图像增强是图像处理的一个重要环节,早期的图像处理就是从图像增强开始的,人们研究对质量低的图像进行处理以获得改善质量后的图像。现今的图像增强还为后续的图像处理,如图像信息提取、图像识别等,提供更高识别度的图像。
从图像处理技术来看,图像的摄取、编码、传输和处理过程中有许多因素可以使图像变模糊。如摄取过程中的聚焦不良,编码中的量化步骤使得图像的高频分量损失,处理过程中的对图像进行放大时由于缩放算法具有低通滤波性质而导致图像变得柔和等等。图像锐化正是针对这个问题对图像的边缘进行增强和高频分量进行补偿,使得画质清晰锐利,视觉感受良好,为后续的处理提供具有更高辨析度的图像。
一、图像锐化基本原理
研究表明,各种图像模糊的物理过程的数学模型一般包含有求和、平均或者积分运算。那么与此相反,图像的锐化过程就是包含有差分和微分的运算。
图像锐化是图像增强的一个经典问题。长期以来在出版业中使用的图像锐化处理是从原始图像自身减去低通滤波后的图像而得到一幅清晰锐利的图像,这种处理称为图像的反锐化掩蔽,也称钝化模板,可以表示为
反锐化掩蔽的一般形式称为高频提升滤波和高频增强滤波。高频提升滤波通过将
更多相关内容 -
数字图像处理 MATLAB 大作业 代码及其说明文档
2017-04-15 17:56:04中科院期末王伟强数字图像处理大作页,用MATLAB实现了冈萨雷斯书中的大部分程序,带有可视化的界面,可以调节参数,实现的功能简要概括如下:灰度变换与图像锐化,滤波(低通,高通,中值,维纳滤波),噪声模型,... -
数字图像处理的MATLAB实现(第2版)部分章节
2013-04-22 17:08:19《数字图像处理的MATLAB实现(第2版)》是第一本介绍图像处理的基础理论以及图像处理实现中所使用软件原理的书籍,汇集了Digital Image Processing 一书的基本概念和MathWorks公司的图像处理工具箱(MathWorks公司在... -
[Python从零到壹] 四十.图像处理基础篇之图像量化处理
2022-02-05 13:34:09欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列...这篇文章将介绍图像量化处理,即将图像像素点对应亮度的连续变化区间转换为单个特定值的过程。希望文章对您有所帮助,如果有不足之处,还请海涵。欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望我们都能在人生路上开心快乐、共同成长。
该系列文章主要讲解Python OpenCV图像处理和图像识别知识,前期主要讲解图像处理基础知识、OpenCV基础用法、常用图像绘制方法、图像几何变换等,中期讲解图像处理的各种运算,包括图像点运算、形态学处理、图像锐化、图像增强、图像平滑等,后期研究图像识别、图像分割、图像分类、图像特效处理以及图像处理相关应用。
上一篇文章介绍图像几何变换,包括图像镜像、图像仿射和图像透视。这篇文章将介绍图像量化处理,即将图像像素点对应亮度的连续变化区间转换为单个特定值的过程。希望文章对您有所帮助,如果有不足之处,还请海涵。
下载地址:
前文赏析:
第一部分 基础语法
- [Python从零到壹] 一.为什么我们要学Python及基础语法详解
- [Python从零到壹] 二.语法基础之条件语句、循环语句和函数
- [Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象
第二部分 网络爬虫
- [Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例
- [Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解
- [Python从零到壹] 六.网络爬虫之BeautifulSoup爬取豆瓣TOP250电影详解
- [Python从零到壹] 七.网络爬虫之Requests爬取豆瓣电影TOP250及CSV存储
- [Python从零到壹] 八.数据库之MySQL基础知识及操作万字详解
- [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
- [Python从零到壹] 十.网络爬虫之Selenium爬取在线百科知识万字详解(NLP语料构造必备技能)
第三部分 数据分析和机器学习
- [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)
- [Python从零到壹] 十二.机器学习之回归分析万字总结全网首发(线性回归、多项式回归、逻辑回归)
- [Python从零到壹] 十三.机器学习之聚类分析万字总结全网首发(K-Means、BIRCH、层次聚类、树状聚类)
- [Python从零到壹] 十四.机器学习之分类算法三万字总结全网首发(决策树、KNN、SVM、分类算法对比)
- [Python从零到壹] 十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解
- [Python从零到壹] 十六.文本挖掘之词云热点与LDA主题分布分析万字详解
- [Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解
- [Python从零到壹] 十八.可视化分析之Basemap地图包入门详解
- [Python从零到壹] 十九.可视化分析之热力图和箱图绘制及应用详解
- [Python从零到壹] 二十.可视化分析之Seaborn绘图万字详解
- [Python从零到壹] 二十一.可视化分析之Pyechart绘图万字详解
- [Python从零到壹] 二十二.可视化分析之OpenGL绘图万字详解
- [Python从零到壹] 二十三.十大机器学习算法之决策树分类分析详解(1)
- [Python从零到壹] 二十四.十大机器学习算法之KMeans聚类分析详解(2)
- [Python从零到壹] 二十五.十大机器学习算法之KNN算法及图像分类详解(3)
- [Python从零到壹] 二十六.十大机器学习算法之朴素贝叶斯算法及文本分类详解(4)
- [Python从零到壹] 二十七.十大机器学习算法之线性回归算法分析详解(5)
- [Python从零到壹] 二十八.十大机器学习算法之SVM算法分析详解(6)
- [Python从零到壹] 二十九.十大机器学习算法之随机森林算法分析详解(7)
- [Python从零到壹] 三十.十大机器学习算法之逻辑回归算法及恶意请求检测应用详解(8)
- [Python从零到壹] 三十一.十大机器学习算法之Boosting和AdaBoost应用详解(9)
- [Python从零到壹] 三十二.十大机器学习算法之层次聚类和树状图聚类应用详解(10)
第四部分 Python图像处理基础
- [Python从零到壹] 三十三.图像处理基础篇之什么是图像处理和OpenCV配置
- [Python从零到壹] 三十四.OpenCV入门详解——显示读取修改及保存图像
- [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形
- [Python从零到壹] 三十六.图像处理基础篇之图像算术与逻辑运算详解
- [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制
- [Python从零到壹] 三十八.图像处理基础篇之图像几何变换(平移缩放旋转)
- [Python从零到壹] 三十九.图像处理基础篇之图像几何变换(镜像仿射透视)
- [Python从零到壹] 四十.图像处理基础篇之图像量化处理
第五部分 Python图像运算和图像增强
第六部分 Python图像识别和图像处理经典案例
第七部分 NLP与文本挖掘
第八部分 人工智能入门知识
第九部分 网络攻防与AI安全
第十部分 知识图谱构建实战
扩展部分 人工智能高级案例
作者新开的“娜璋AI安全之家”将专注于Python和安全技术,主要分享Web渗透、系统安全、人工智能、大数据分析、图像识别、恶意代码检测、CVE复现、威胁情报分析等文章。虽然作者是一名技术小白,但会保证每一篇文章都会很用心地撰写,希望这些基础性文章对你有所帮助,在Python和安全路上与大家一起进步。
一.图像量化处理原理
量化(Quantization)旨在将图像像素点对应亮度的连续变化区间转换为单个特定值的过程,即将原始灰度图像的空间坐标幅度值离散化。量化等级越多,图像层次越丰富,灰度分辨率越高,图像的质量也越好;量化等级越少,图像层次欠丰富,灰度分辨率越低,会出现图像轮廓分层的现象,降低了图像的质量。图8-1是将图像的连续灰度值转换为0至255的灰度级的过程[1-3]。
如果量化等级为2,则将使用两种灰度级表示原始图片的像素(0-255),灰度值小于128的取0,大于等于128的取128;如果量化等级为4,则将使用四种灰度级表示原始图片的像素,新图像将分层为四种颜色,0-64区间取0,64-128区间取64,128-192区间取128,192-255区间取192,依次类推。
图8-2是对比不同量化等级的“Lena”图。其中(a)的量化等级为256,(b)的量化等级为64,(c)的量化等级为16,(d)的量化等级为8,(e)的量化等级为4,(f)的量化等级为2。
二.图像量化实现
图像量化的实现过程是建立一张临时图片,接着循环遍历原始图像中所有像素点,判断每个像素点应该属于的量化等级,最后将临时图像显示。下面的代码将灰度图像转换为两种量化等级[4]。
# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np import matplotlib.pyplot as plt #读取原始图像 img = cv2.imread('lena-hd.png') #获取图像高度和宽度 height = img.shape[0] width = img.shape[1] #创建一幅图像 new_img = np.zeros((height, width, 3), np.uint8) #图像量化操作 量化等级为2 for i in range(height): for j in range(width): for k in range(3): #对应BGR三分量 if img[i, j][k] < 128: gray = 0 else: gray = 128 new_img[i, j][k] = np.uint8(gray) #显示图像 cv2.imshow("src", img) cv2.imshow("", new_img) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
其输出结果如图8-3所示,它将灰度图像划分为两种量化等级。
三.图像量化等级对比
下面的代码分别比较了量化等级为2、4、8的量化处理效果[5]。
# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np import matplotlib.pyplot as plt #读取原始图像 img = cv2.imread('lena-hd.png') #获取图像高度和宽度 height = img.shape[0] width = img.shape[1] #创建一幅图像 new_img1 = np.zeros((height, width, 3), np.uint8) new_img2 = np.zeros((height, width, 3), np.uint8) new_img3 = np.zeros((height, width, 3), np.uint8) #图像量化等级为2的量化处理 for i in range(height): for j in range(width): for k in range(3): #对应BGR三分量 if img[i, j][k] < 128: gray = 0 else: gray = 128 new_img1[i, j][k] = np.uint8(gray) #图像量化等级为4的量化处理 for i in range(height): for j in range(width): for k in range(3): #对应BGR三分量 if img[i, j][k] < 64: gray = 0 elif img[i, j][k] < 128: gray = 64 elif img[i, j][k] < 192: gray = 128 else: gray = 192 new_img2[i, j][k] = np.uint8(gray) #图像量化等级为8的量化处理 for i in range(height): for j in range(width): for k in range(3): #对应BGR三分量 if img[i, j][k] < 32: gray = 0 elif img[i, j][k] < 64: gray = 32 elif img[i, j][k] < 96: gray = 64 elif img[i, j][k] < 128: gray = 96 elif img[i, j][k] < 160: gray = 128 elif img[i, j][k] < 192: gray = 160 elif img[i, j][k] < 224: gray = 192 else: gray = 224 new_img3[i, j][k] = np.uint8(gray) #用来正常显示中文标签 plt.rcParams['font.sans-serif']=['SimHei'] #显示图像 titles = ['(a) 原始图像', '(b) 量化-L2', '(c) 量化-L4', '(d) 量化-L8'] images = [img, new_img1, new_img2, new_img3] for i in range(4): plt.subplot(2,2,i+1), plt.imshow(images[i], 'gray'), plt.title(titles[i]) plt.xticks([]),plt.yticks([]) plt.show()
输出结果如图8-4所示,该代码调用matplotlib.pyplot库绘制了四幅图像,其中(a)表示原始图像,(b)表示等级为2的量化处理,(c)表示等级为4的量化处理,(d)表示等级为8的量化处理。
四.K-Means聚类实现量化处理
除了通过对像素进行统计比较量化处理,还可以根据像素之间的相似性进行聚类处理。这里补充一个基于K-Means聚类算法的量化处理过程,它能够将彩色图像RGB像素点进行颜色分割和颜色量化。此外,该部分只是带领读者简单认识该方法,更多K-Means聚类的知识将在图像分割文章中进行详细叙述[6]。
# coding: utf-8 # By:Eastmount import cv2 import numpy as np import matplotlib.pyplot as plt #读取原始图像 img = cv2.imread('luo.png') #图像二维像素转换为一维 data = img.reshape((-1,3)) data = np.float32(data) #定义中心 (type,max_iter,epsilon) criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0) #设置标签 flags = cv2.KMEANS_RANDOM_CENTERS #K-Means聚类 聚集成4类 compactness, labels, centers = cv2.kmeans(data, 8, None, criteria, 10, flags) #图像转换回uint8二维类型 centers = np.uint8(centers) res = centers[labels.flatten()] dst = res.reshape((img.shape)) #图像转换为RGB显示 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB) #用来正常显示中文标签 plt.rcParams['font.sans-serif']=['SimHei'] #显示图像 titles = ['原始图像', '聚类量化 K=8'] images = [img, dst] for i in range(2): plt.subplot(1,2,i+1), plt.imshow(images[i], 'gray'), plt.title(titles[i]) plt.xticks([]),plt.yticks([]) plt.show()
输出结果如图8-5所示。
它通过K-Means聚类算法将彩色人物图像的灰度聚集成八种颜色。核心代码如下:
- cv2.kmeans(data, 8, None, criteria, 10, flags)
五.总结
本文主要讲解了图像的量化处理,从基本概念到操作,再到扩展进行全方位讲解,并且补充了基于K-Means聚类算法的量化处理案例。该部分的知识点能够将生活中的图像转换为数字图像,更好地为后续的图像处理提供帮助。
最近寒假日更,为了感谢读者。同时感谢在求学路上的同行者,不负遇见,勿忘初心。图像处理系列主要包括三部分,分别是:
祝大家新年快乐,虎年大吉,阖家幸福,万事如意,小珞珞给大家拜年了。亲情是真的很美,很治愈。希望小珞珞和他妈妈能开心每一天,全家人身体健康。小珞珞这小样子可爱极了,爱你们喔!
(By:娜璋之家 Eastmount 2022-02-05 夜于贵阳 https://blog.csdn.net/Eastmount )
参考资料:
- [1]冈萨雷斯著. 数字图像处理(第3版)[M]. 北京:电子工业出版社,2013.
- [2]yunfung. 数字图像基础之图像取样和量化(Image Sampling and Quantization)[EB/OL]. (2017-04-23). https://www.cnblogs.com/yunfung/p/6753337.html.
- [3]阮秋琦. 数字图像处理学(第3版)[M]. 北京:电子工业出版社,2008.
- [4]Eastmount. [Python图像处理] 三十.图像量化及采样处理万字详细总结[EB/OL]. (2020-11-10). https://blog.csdn.net/Eastmount/article/details/109605161.
- [5]Eastmount. [数字图像处理] 三.MFC实现图像灰度、采样和量化功能详解[EB/OL]. (2015-05-28). https://blog.csdn.net/eastmount/article/details/46010637.
- [6]杨秀璋, 颜娜. Python网络数据爬取及分析从入门到精通(分析篇)[M]. 北京:北京航天航空大学出版社, 2018.
-
[Python从零到壹] 四十一.图像处理基础篇之图像采样处理
2022-02-07 18:31:00欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起...这篇文章将详细讲解图像采样处理,包括原理知识、代码实现和局部马赛克处理。希望文章对您有所帮助,如果有不足之处,还请海涵。欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望我们都能在人生路上开心快乐、共同成长。
该系列文章主要讲解Python OpenCV图像处理和图像识别知识,前期主要讲解图像处理基础知识、OpenCV基础用法、常用图像绘制方法、图像几何变换等,中期讲解图像处理的各种运算,包括图像点运算、形态学处理、图像锐化、图像增强、图像平滑等,后期研究图像识别、图像分割、图像分类、图像特效处理以及图像处理相关应用。
上一篇文章介绍图像量化处理。这篇文章将详细讲解图像采样处理,包括原理知识、代码实现和局部马赛克处理。希望文章对您有所帮助,如果有不足之处,还请海涵。
下载地址:
前文赏析:
第一部分 基础语法
- [Python从零到壹] 一.为什么我们要学Python及基础语法详解
- [Python从零到壹] 二.语法基础之条件语句、循环语句和函数
- [Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象
第二部分 网络爬虫
- [Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例
- [Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解
- [Python从零到壹] 六.网络爬虫之BeautifulSoup爬取豆瓣TOP250电影详解
- [Python从零到壹] 七.网络爬虫之Requests爬取豆瓣电影TOP250及CSV存储
- [Python从零到壹] 八.数据库之MySQL基础知识及操作万字详解
- [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
- [Python从零到壹] 十.网络爬虫之Selenium爬取在线百科知识万字详解(NLP语料构造必备技能)
第三部分 数据分析和机器学习
- [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)
- [Python从零到壹] 十二.机器学习之回归分析万字总结全网首发(线性回归、多项式回归、逻辑回归)
- [Python从零到壹] 十三.机器学习之聚类分析万字总结全网首发(K-Means、BIRCH、层次聚类、树状聚类)
- [Python从零到壹] 十四.机器学习之分类算法三万字总结全网首发(决策树、KNN、SVM、分类算法对比)
- [Python从零到壹] 十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解
- [Python从零到壹] 十六.文本挖掘之词云热点与LDA主题分布分析万字详解
- [Python从零到壹] 十七.可视化分析之Matplotlib、Pandas、Echarts入门万字详解
- [Python从零到壹] 十八.可视化分析之Basemap地图包入门详解
- [Python从零到壹] 十九.可视化分析之热力图和箱图绘制及应用详解
- [Python从零到壹] 二十.可视化分析之Seaborn绘图万字详解
- [Python从零到壹] 二十一.可视化分析之Pyechart绘图万字详解
- [Python从零到壹] 二十二.可视化分析之OpenGL绘图万字详解
- [Python从零到壹] 二十三.十大机器学习算法之决策树分类分析详解(1)
- [Python从零到壹] 二十四.十大机器学习算法之KMeans聚类分析详解(2)
- [Python从零到壹] 二十五.十大机器学习算法之KNN算法及图像分类详解(3)
- [Python从零到壹] 二十六.十大机器学习算法之朴素贝叶斯算法及文本分类详解(4)
- [Python从零到壹] 二十七.十大机器学习算法之线性回归算法分析详解(5)
- [Python从零到壹] 二十八.十大机器学习算法之SVM算法分析详解(6)
- [Python从零到壹] 二十九.十大机器学习算法之随机森林算法分析详解(7)
- [Python从零到壹] 三十.十大机器学习算法之逻辑回归算法及恶意请求检测应用详解(8)
- [Python从零到壹] 三十一.十大机器学习算法之Boosting和AdaBoost应用详解(9)
- [Python从零到壹] 三十二.十大机器学习算法之层次聚类和树状图聚类应用详解(10)
第四部分 Python图像处理基础
- [Python从零到壹] 三十三.图像处理基础篇之什么是图像处理和OpenCV配置
- [Python从零到壹] 三十四.OpenCV入门详解——显示读取修改及保存图像
- [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形
- [Python从零到壹] 三十六.图像处理基础篇之图像算术与逻辑运算详解
- [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制
- [Python从零到壹] 三十八.图像处理基础篇之图像几何变换(平移缩放旋转)
- [Python从零到壹] 三十九.图像处理基础篇之图像几何变换(镜像仿射透视)
- [Python从零到壹] 四十.图像处理基础篇之图像量化处理
- [Python从零到壹] 四十一.图像处理基础篇之图像采样处理
第五部分 Python图像运算和图像增强
第六部分 Python图像识别和图像处理经典案例
第七部分 NLP与文本挖掘
第八部分 人工智能入门知识
第九部分 网络攻防与AI安全
第十部分 知识图谱构建实战
扩展部分 人工智能高级案例
作者新开的“娜璋AI安全之家”将专注于Python和安全技术,主要分享Web渗透、系统安全、人工智能、大数据分析、图像识别、恶意代码检测、CVE复现、威胁情报分析等文章。虽然作者是一名技术小白,但会保证每一篇文章都会很用心地撰写,希望这些基础性文章对你有所帮助,在Python和安全路上与大家一起进步。
一.图像采样处理原理
图像采样(Image Sampling)处理是将一幅连续图像在空间上分割成M×N个网格,每个网格用一个亮度值或灰度值来表示,其示意图如图9-1所示。
图像采样的间隔越大,所得图像像素数越少,空间分辨率越低,图像质量越差,甚至出现马赛克效应;相反,图像采样的间隔越小,所得图像像素数越多,空间分辨率越高,图像质量越好,但数据量会相应的增大。图9-2展示了不同采样间隔的“Lena”图,其中图(a)为原始图像,图(b)为128×128的图像采样效果,图©为64×64的图像采样效果,图(d)为32×32的图像采样效果,图(e)为16×16的图像采样效果,图(f)为8×8的图像采样效果[1-3]。
二.图像采样实现
下面讲述Python图像采样处理相关代码操作。其核心流程是建立一张临时图片,设置需要采样的区域大小(如16×16),接着循环遍历原始图像中所有像素点,采样区域内的像素点赋值相同(如左上角像素点的灰度值),最终实现图像采样处理。
# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np import matplotlib.pyplot as plt #读取原始图像 img = cv2.imread('lena-hd.png') #获取图像高度和宽度 height = img.shape[0] width = img.shape[1] #采样转换成16*16区域 numHeight = int(height/16) numWidth = int(width/16) #创建一幅图像 new_img = np.zeros((height, width, 3), np.uint8) #图像循环采样16*16区域 for i in range(16): #获取Y坐标 y = i*numHeight for j in range(16): #获取X坐标 x = j*numWidth #获取填充颜色 左上角像素点 b = img[y, x][0] g = img[y, x][1] r = img[y, x][2] #循环设置小区域采样 for n in range(numHeight): for m in range(numWidth): new_img[y+n, x+m][0] = np.uint8(b) new_img[y+n, x+m][1] = np.uint8(g) new_img[y+n, x+m][2] = np.uint8(r) #显示图像 cv2.imshow("src", img) cv2.imshow("Sampling", new_img) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
其输出结果如图9-3所示,它将灰度图像采样成16×16的区域。
同样,可以对彩色图像进行采样处理,下面的代码将“小珞珞”的图像采样处理成8×8的马赛克区域。
# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np import matplotlib.pyplot as plt #读取原始图像 img = cv2.imread('luo.png') #获取图像高度和宽度 height = img.shape[0] width = img.shape[1] #采样转换成8×8区域 numHeight = int(height/8) numwidth = int(width/8) #创建一幅图像 new_img = np.zeros((height, width, 3), np.uint8) #图像循环采样8*8区域 for i in range(8): #获取Y坐标 y = i*numHeight for j in range(8): #获取X坐标 x = j*numwidth #获取填充颜色 左上角像素点 b = img[y, x][0] g = img[y, x][1] r = img[y, x][2] #循环设置小区域采样 for n in range(numHeight): for m in range(numwidth): new_img[y+n, x+m][0] = np.uint8(b) new_img[y+n, x+m][1] = np.uint8(g) new_img[y+n, x+m][2] = np.uint8(r) #显示图像 cv2.imshow("src", img) cv2.imshow("Sampling", new_img) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
其输出结果如图9-4所示,它将彩色图像采样成8×8的区域。
但上述代码存在一个问题,当图像的长度和宽度不能被采样区域整除时,输出图像的最右边和最下边的区域没有被采样处理。这里推荐读者做个求余运算,将不能整除部分的区域也进行相应的采样处理。
三.图像局部采样处理
前面讲述的代码是对整幅图像进行采样处理,那么如何对图像的局部区域进行马赛克处理呢?下面的代码就实现了该功能。当鼠标按下时,它能够给鼠标拖动的区域打上马赛克,并按下“s”键保存图像至本地。
# -*- coding: utf-8 -*- # By:Eastmount import cv2 import numpy as np import matplotlib.pyplot as plt #读取原始图像 im = cv2.imread('luo.png', 1) #设置鼠标左键开启 en = False #鼠标事件 def draw(event, x, y, flags, param): global en #鼠标左键按下开启en值 if event==cv2.EVENT_LBUTTONDOWN: en = True #鼠标左键按下并且移动 elif event==cv2.EVENT_MOUSEMOVE and flags==cv2.EVENT_LBUTTONDOWN: #调用函数打马赛克 if en: drawMask(y,x) #鼠标左键弹起结束操作 elif event==cv2.EVENT_LBUTTONUP: en = False #图像局部采样操作 def drawMask(x, y, size=10): #size*size采样处理 m = int(x / size * size) n = int(y / size * size) print(m, n) #10*10区域设置为同一像素值 for i in range(size): for j in range(size): im[m+i][n+j] = im[m][n] #打开对话框 cv2.namedWindow('image') #调用draw函数设置鼠标操作 cv2.setMouseCallback('image', draw) #循环处理 while(1): cv2.imshow('image', im) #按ESC键退出 if cv2.waitKey(10)&0xFF==27: break #按s键保存图片 elif cv2.waitKey(10)&0xFF==115: cv2.imwrite('sava.png', im) #退出窗口 cv2.destroyAllWindows()
其输出结果如图9-5所示,它将人物的脸部进行马赛克处理。
四.总结
本文主要讲解了图像的采样处理,从基本概念到操作,再到扩展进行全方位讲解,并且补充了局部马赛克采样处理案例。该部分的知识点能够将生活中的图像转换为数字图像,更好地为后续的图像处理提供帮助。
最近寒假日更,为了感谢读者。同时感谢在求学路上的同行者,不负遇见,勿忘初心。图像处理系列主要包括三部分,分别是:
祝大家新年快乐,虎年大吉,阖家幸福,万事如意,小珞珞给大家拜年了。亲情是真的很美,很治愈。希望小珞珞和他妈妈能开心每一天,全家人身体健康。小珞珞这小样子可爱极了,爱你们喔!
(By:娜璋之家 Eastmount 2022-02-07 夜于贵阳 https://blog.csdn.net/Eastmount )
参考文献:
- [1]冈萨雷斯著. 数字图像处理(第3版)[M]. 北京:电子工业出版社,2013.
- [2]Eastmount. [Python图像处理] 三十.图像量化及采样处理万字详细总结[EB/OL]. (2020-11-10). https://blog.csdn.net/Eastmount/article/details/109605161.
- [3]Eastmount. [数字图像处理] 三.MFC实现图像灰度、采样和量化功能详解[EB/OL]. (2015-05-28). https://blog.csdn.net/eastmount/article/details/46010637.
-
【医学图像处理】1 (医学)图像及图像处理流程
2021-11-03 21:54:47文章目录1 图像和数字图像 1 图像和数字图像 数字图像: 被定义为一个二维函数,f(x,y),其中x,y代表空间坐标,f代表点(x,y)处的强度或灰度级。和普通的笛卡尔坐标系有区别,在计算机中坐标系左上角为原点: ...1 图像和数字图像
数字图像: 被定义为一个二维函数,f(x,y),其中x,y代表空间坐标,f代表点(x,y)处的强度或灰度级。和普通的笛卡尔坐标系有区别,在计算机中坐标系左上角为原点:
图像数字化: 图像进入计算机后,对图像进行数字化(映射)。数字图像三要素:
(1)像素:大小决定了图像存储、显示的清晰度;
(2)灰度值:通常为0-255,因为在计算机中通常用一个字节来表示一个像素,即28。
(3)坐标
图像存储在计算机中会丢失信息,因为是从一个连续的空间到离散空间的再采样过程。
图像数据:
生活中是二维的,医学上通常还有3维和4维的。比如在关注心脏跳动的时候,不仅关注其三维结构,还要关注时间轴变化。
三维图像:一个像素描述成一个体素。
(1)二维图像:被描述成f(i,j)
(2)三维图像:被描述成f(i,j,k)
(3)四维图像:被描述成f(i,j,k,t)
注意:i,j,k,t都为正整数,这样才能实现正确存储
数字图像处理:
数字化:把自然界的东西进行采样,展示到计算机里面成为数字化的存储单元。
数字图像:一个目标的数字化表征
数字图像处理:包括处理和分析两个过程
数字图像采样与量化:
采样:测量图像中每个像素位置的灰度值。采样率越高越清晰,但是占用内存也越大
量化:用一个整数表征采样的测量值。会丢失信息,且使得图像从连续空间变为离散空间
对比度: 图像灰度差的幅度
解像率: 图像振幅测量单位的灰度级数
数字图像格式:
二维图像:除了raw data之外,还有bmp,tif,gip,jpg等格式,这些格式是对图像信息的压缩。除了本身的raw data之外,还有头文件,告诉我们图像的存储格式以及坐标系关系。
三维图像:除了raw data之外,还有info,vox,mnc,dicom。医学图像中常用的是dicom2 图像分类
2.1 简单分类
(1)二值图像:包含两个值,通常为0、255
(2)灰度图像: 0-255灰阶,更能表现自然界图像形态。
(3)彩色图像: 包含更加丰富的信息,实际上时3个灰度图像的叠加,R/G/B的channel的混合。
(4)伪彩图像: 红外图像更能表达自然界中温度的变化(右,猫眼睛耳朵亮),为了更能表现温度的变化,科学家们使用伪彩的方式把红外图像描述出来,更能逼真表示温度变化
2.2 传感器分类
(1)光学图像:
日常中的图像都是光学图像
(2)红外图像: 红外图像更能表达自然界中温度的变化(猫眼睛耳朵亮)
(3)紫外图像: UV,紫外更多来自宇宙空间(太阳和其他星球)。在天文学中经常使用紫外的图像,来描述宇宙中的成像方式。
(4)卫星图像: 我们手中拿到的报纸都可以被卫星捕捉到,卫星能够很好的帮助我们捕捉到一些细枝末节的信息。在军事领域、城市建设、资源勘探等方面有很大的应用。
(5)显微图像:
上图,心脏肌肉的显微照片,这是临床中经常应用的一类称为活检对图片,当我们怀疑组织的某一部分有病变的时候,通过穿刺的方法,在身体组织、器官表面进行采样,得到组织碎片,通过在显微镜进行放大,进行分析——病理诊断
(6)微波图像、雷达图像、光学图像:
大雪覆盖了海岸线。光学图像中,几乎看不到大雪覆盖的地理结构;雷达图像,可以很好的穿透浮冰、大雪,很好的观测到地理结构;微波图像更清晰显示地理结构。
(6)X光(X-ray):
(7)MRI(RF、核磁共振)图像:
(8)超声图像:
2.3 维度分类
(1)二维:
日常生活中看到的都是二维图像
(2)三维:
如下激光的扫描图像,它是二维扫描仪进行了三维描述,用激光沿着人体进行三维扫描,这样能采集到人体三维的表面结构,进而绘制三维人体。
3 图像处理流程
图像处理流程,通常包含三个阶段:
(1)low level:被称为图像滤波(预处理)。图像to图像——增强操作(锐化、平滑)、差值操作(变大变小过程中)、去噪、裁剪…
(2)intermediate level:被称为图像分割(分割)。图像to符号集(symbolic repreentation)。如果能够把图像中的目标标定(分割)出来的时候,那么输出就可能是边缘的集合,而不是整个图像。——区域提取、标识、分组(分类)
(3)High level:被称为图像理解或者模式识别(识别)。输入为信号集(符号集),输出为功能的表达。这是一个理解的过程,不仅能够标识目标区域,还能知道目标是什么。——区域特征分析(位置、朝向、尺寸…),通过目标匹配形式
后续还需要对图像进行三维绘制,建模,表达,作为输出展示给用户。4 医学图像
(1)CT图像: 骨结构、组织结构(不太清晰)
(2)MRI(核磁共振)图像: 清晰看到除了骨结构之外的一些软组织,更能描述人体软组织结构。
(3)X-ray图像:很好描述肺结构
(4)超声图像: 超声图像很难看懂,因为图像视野狭窄,图像精度也不好,但是绿色对人体无害。
(5)PAT正电子成像: 上述为解剖结构成像,随着成像计算的发展,出现了功能和代谢成像的图片,如PAT正电子成像——对人体内,尤其是氧的消耗量的大小来分析不同组织结构的特征,不仅可以看到解剖结构,更多的是描绘人的新陈代谢或者人体功能的描述。因此这种成像对癌症,比如一些病变的早期形成过程有很好的描述,帮助医生早诊断、早治疗
(6)三维超声
-
数字图像处理总结(冈萨雷斯版)
2021-12-20 16:25:24数字图像处理(冈萨雷斯版本)课程复习 -
一、Matlab图像处理入门
2021-08-12 22:14:30Matlab图像处理入门 一、 Matlab图像处理入门 文章目录Matlab图像处理入门今日任务:一、千呼万唤始出来——主角介绍1、初识数字图形处理2、初识MATLAB三、1.引入库2.读入数据总结 今日任务: 调用imread读入... -
数字图像处理课程设计
2021-10-30 18:44:44《数字图像处理》是一门应用型课程,为了更巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理算法实现的基本原理,为今后应用图像处理技术和编程技术解决实际问题奠定基础,设计一个... -
数字图像处理 冈萨雷斯 第三版 课后答案绝对完整
2015-03-08 08:13:43数字图像处理 冈萨雷斯 第三版 课后答案绝对完整 -
《数字图像处理》冈萨雷斯 第三版part1(共1-3部分)
2014-11-12 13:50:07数字图像处理方面的经典教材,中文译本 阮秋琦,阮宇智等译 本书是把图像处理基础理论论述与软件实践方法相结合的第一本书,它集成了冈萨雷斯和伍兹所著的《数字图像处理》一书中的重要内容和MathWorks公司的图像... -
[Python从零到壹] 三十三.图像处理基础篇之什么是图像处理和OpenCV配置
2022-01-22 19:11:38该系列文章主要讲解Python OpenCV图像处理和图像识别知识,第一篇文章作为整个系列的引子,将介绍什么是图像处理,图像处理的基础知识,Python语言的优势和OpenCV基础概述。希望文章对您有所帮助,如果有不足之处,... -
数字图像处理 冈萨雷斯 第三版 中文版
2014-11-21 23:29:34在数字图像处理领域 《数字图像处理 第三版 》作为主要教材已有30多年 这一版本是作者在前两版的基础上修订而成的 是前两版的发展与延续 除保留了前两版的大部分内容外 根据读者的反馈 作者在13个方面对《数字图像... -
[Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制
2022-01-26 23:28:47欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带...这篇文章将详细讲解图像融合处理和ROI区域绘制,同时补充图像属性、通道和类型转换。希望文章对您有所帮助,如果有不足之处,还请海涵。 -
matlab图像处理(图像)
2022-03-31 16:50:49matlab图像处理,图像分割,图像识别 -
图像处理之彩色图像处理
2022-04-08 20:16:56彩色图像处理技术可以分为两大类。 ①伪彩色处理技术:将灰度图像处理技术转换为彩色图像以提高人们对图像内容的观察效率 ②真彩色处理技术:借助彩色图像,人们可以了解到场景更多的性质,并且可以对不同性质分别... -
数字图像处理 第三版 中文版 冈萨雷斯
2015-03-28 09:32:18在数字图像处理领域 《数字图像处理 第三版 》作为主要教材已有30多年 这一版本是作者在前两版的基础上修订而成的 是前两版的发展与延续 除保留了前两版的大部分内容外 根据读者的反馈 作者在13个方面对《数字图像... -
《OpenCv视觉之眼》Python图像处理二十三:OpenCV图像处理最终章之基于PyQt5的图像处理界面设计及功能实现
2020-08-26 12:45:35本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。... -
[Python图像处理] 四十三.Python图像形态学处理万字详解(腐蚀膨胀、开闭运算、梯度顶帽黑帽运算)
2021-07-30 23:51:59数学形态学是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、图像顶帽运算和图像底帽运算、骨架抽取、形态学梯度、Top-hat变换等... -
【基于MATLAB的数字图像处理】第六章·形态学图像处理
2022-04-07 12:57:38基于MATLAB的数字图像处理的第六章·形态学图像处理,简单了解图像腐蚀和膨胀、开运算和闭运算 -
数字图像处理课后习题汇总
2020-12-22 16:17:41文章目录绪论Chapter 0 Course 1 WhatChapter 0 Cours 2Chapter 0 Course 3第一章Chapter 1 Introduction 1 HistoryChapter 1 Introduction 2 ...imagingChapter 2 digitization 3 step数字图像马赛克第三章Chapter 3 Color 1 M -
数字图像处理实验之彩色图像处理
2020-02-19 09:37:58数字图像处理_彩色图像处理1. 实验目的2. 实验流程2.1 彩色图像基本操作2.2 伪彩色处理2.3 彩色图像平滑滤波2.4 RGB转HSI3. 实验代码3.1 彩色图像读取、显示与格式转换3.2 伪彩色变换3.3 彩色图像平滑滤波3.4 RGB... -
【计算机视觉】数字图像处理(二)—— 图像数字化特征介绍
2021-12-31 15:36:00数字图像处理(二)—— 图像数字化特征的介绍 -
图像处理基础知识
2021-07-09 16:31:04数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。 通常的二维数字图像是一个矩阵,可以用一个二维数组 f(x,y) 来表示,其中 x,y 是二维空间中的某坐标系的坐标... -
数字图像处理(2)——数字图像获取
2022-03-19 11:12:16文章目录2.1图像数字化2.1.1数字图像的表示2.1.1.1黑白图像2.1.1.2灰度图像2.1.1.3彩色图像2.1.2图像数字化过程2.1.2.1采样...图像处理算法的形式2.3.1基本功能形式2.3.2几种具体算法形式2.3.2.1局部处理2.3.2.2点处理... -
数字图像处理
2022-03-25 17:01:04数字图像处理的主要两种方法:空域法和频域法; 图像变换主要两种重要方式:图像几何变换(空间变换)和图像正交变换,其中图像几何变换属于空域法。 几何变换 图像几何变换大体包含:刚性变换,仿射变换,透视变换... -
数字图像处理中常用到图片集
2013-04-12 23:28:31数字图像处理中常用到图片集,适合数字图像开发人员使用 -
数字图像处理——第六章 彩色图像处理
2021-05-09 20:32:14数字图像处理——第六章 彩色图像处理 文章目录数字图像处理——第六章 彩色图像处理1 彩色模型1.1 RGB彩色模型1.2 CMY 和CMYK彩色模型1.3 HSI彩色模型2 伪彩色图像处理2.1 灰度分层2.2 灰度到彩色的变换3 彩色图像... -
图像处理-最常见面试题(必问)
2021-03-02 17:59:32图像预处理有哪些方法?1.1 高斯滤波器原理介绍?2.图像增强有哪些方法?3.图像的特征提取有哪些算法?3.1 HOG(方向梯度直方图)3.2 SIFT(尺度不变特征变换)3.3 SURF(加速稳健特征,对sift的改进)3.4 DOG(高斯函数... -
数字图像处理发展前景
2021-07-12 01:47:39随着计算机技术的快速发展,数字图像处理已经广泛应用到了人类社会生活的各个方面,如:工业检测、医学、智能机器人等。无论在哪个领域中,人们喜欢采用图像的方式来描述和表达事物的特性与逻辑关系,因此,数字图像...
-
<em>图像处理</em><em>图像处理</em>
-
<em>图像处理</em><em>图像处理</em>
-
<em>图像处理</em><em>图像处理</em>
-
数字<em>图像处理</em>本书是数字<em>图像处理</em>理论与实践相结合的成功之作,强调理论用于解决工业或科学研究中常见的实际问题。这种与基本概念和数字<em>图像处理</em>的各种实用技术,使读者能用这些技术解决数字
-
数字<em>图像处理</em>本书全面系统地讲述了数字<em>图像处理</em>领域中的15大核心话题,包括色彩空间、图像编码、频域变换、图像文件格式、几何变换、灰度变换、图像的增强处理、边缘检测、轮廓跟踪、形态学处理、图像分割、