OpenCV基本图像处理操作(一)——图像基本操作与形态学操作

这篇具有很好参考价值的文章主要介绍了OpenCV基本图像处理操作(一)——图像基本操作与形态学操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境配置地址

图像显示

import cv2 #opencv读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB
img=cv2.imread('cat.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img_gray.shape
cv2.imshow("img_gray", img_gray)
cv2.waitKey(0)    
cv2.destroyAllWindows() 

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

转hsv图像

颜色表示为三个组成部分:色调(Hue)、饱和度(Saturation)和亮度(Value)。常用于图像处理中,因为它允许调整颜色的感知特性,如色彩和亮度,这些在RGB颜色模型中不那么直观。
HSV模型特别适用于任务如图像分割和对象追踪,因为它可以更好地处理光照变化的影响。

hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

cv2.imshow("hsv", hsv)
cv2.waitKey(0)    
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

图像阈值

ret, dst = cv2.threshold(src, thresh, maxval, type)
  • src: 输入图,只能输入单通道图像,通常来说为灰度图

  • dst: 输出图

  • thresh: 阈值

  • maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值

  • type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY; cv2.THRESH_BINARY_INV; cv2.THRESH_TRUNC; cv2.THRESH_TOZERO;cv2.THRESH_TOZERO_INV

  • cv2.THRESH_BINARY 超过阈值部分取maxval(最大值),否则取0

  • cv2.THRESH_BINARY_INV THRESH_BINARY的反转

  • cv2.THRESH_TRUNC 大于阈值部分设为阈值,否则不变

  • cv2.THRESH_TOZERO 大于阈值部分不改变,否则设为0

  • cv2.THRESH_TOZERO_INV THRESH_TOZERO的反转

ret, thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
ret, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)
ret, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)
ret, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)
ret, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)

titles = ['Original Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]

for i in range(6):
    plt.subplot(2, 3, i + 1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

滤波操作

# 均值滤波
# 简单的平均卷积操作
blur = cv2.blur(img, (3, 3))

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

简单滤波
blur = cv2.blur(img, (3, 3))
cv2.imshow('blur', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

局部平均滤波

cv2.boxFilter 用于对图像进行框滤波处理,也就是局部平均滤波。函数会计算图像中每个像素的邻域像素的平均值,并用这个平均值替换中心像素。这种滤波方法可以用于去噪和图像平滑处理。

这里是使用 cv2.boxFilter 的基本语法:

dst = cv2.boxFilter(src, ddepth, ksize, anchor=(-1, -1), normalize=True, borderType=cv2.BORDER_DEFAULT)
  • src: 输入图像。
  • ddepth: 输出图像的所需深度(数据类型),如果为 -1,则输出和输入有相同的深度。
  • ksize: 核的大小,表示滤波器窗口的宽度和高度。
  • anchor: 核的锚点位置,默认值为核中心。
  • normalize: 如果设置为 True,则函数计算像素的平均值;如果为 False,则进行求和(可能会导致数值溢出)。
  • borderType: 边界像素的插值方式。

这种滤波器对于简单的图像平滑效果较好,但可能不适用于需要保留边缘信息的应用场景。

box = cv2.boxFilter(img,-1,(3,3), normalize=True)  

cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

# 方框滤波
# 基本和均值一样,可以选择归一化,容易越界
box = cv2.boxFilter(img,-1,(3,3), normalize=False)  

cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

中值滤波

cv2.medianBlur OpenCV 库中用于实现中值滤波的函数。中值滤波是一种非线性滤波技术,通常用于去除图像中的椒盐噪声(即随机出现的黑点和白点噪声),同时保持图像边缘的清晰度。

中值滤波的原理是用图像中每个像素点的邻域像素的中值来替换该像素点的值。这种方法特别有效于去除噪声点,因为噪声点通常会在其像素值上与周围像素差异很大。

下面是使用 cv2.medianBlur 的基本语法:

dst = cv2.medianBlur(src, ksize)
  • src: 输入图像。
  • ksize: 滤波器的大小,它是一个大于 1 的奇数,表示滤波器窗口的宽度和高度。在这个例子中,ksize 是 5,所以滤波窗口为 5x5。

中值滤波特别适用于去除图像的椒盐噪声,而不会使图像边缘过分模糊,因此它在图像预处理中非常有用。

# 中值滤波
# 相当于用中值代替
median = cv2.medianBlur(img, 5)  # 中值滤波

cv2.imshow('median', median)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

高斯滤波

cv2.GaussianBlur 是 OpenCV 库中用于实现高斯模糊的函数。高斯模糊是一种图像滤波技术,用于减少图像的细节和噪声,通过这种方式可以在图像处理中实现去噪和平滑效果。

高斯模糊的工作原理是每个像素点的值被替换为其周围像素的加权平均值,权重由高斯函数决定,高斯函数以当前像素为中心,且其形状由标准差σ控制。

以下是使用 cv2.GaussianBlur 函数的基本语法:

dst = cv2.GaussianBlur(src, ksize, sigmaX)
  • src: 输入图像。
  • ksize: 滤波器的大小,必须是正数和奇数。在这个例子中,ksize 是 (5, 5),表示滤波器窗口的宽度为 5,高度也为 5。
  • sigmaX: 高斯核的标准差在 X 方向上。在此例中为 1。如果 sigmaX 为 0,它将从 ksize 计算得出。

高斯模糊被广泛用于图像处理中的边缘平滑和噪声减少,其效果较为自然。

# 高斯滤波
# 高斯模糊的卷积核里的数值是满足高斯分布,相当于更重视中间的
aussian = cv2.GaussianBlur(img, (5, 5), 1)  

cv2.imshow('aussian', aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

均值,中值,高斯滤波对比
# 展示所有的
res = np.hstack((blur,aussian,median))
#print (res)
cv2.imshow('median vs average', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

形态学操作

原图
OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

腐蚀操操作

cv2.erode 是 OpenCV 库中用于执行图像的腐蚀操作的函数。腐蚀是一种图像处理技术,通常用于减小图像中的前景对象。它主要用于去除小的白色噪点、分离两个连接在一起的对象等。

在腐蚀操作中,将一个结构元素(kernel)滑动过原始图像(src),只有当结构元素内的所有像素值都为 1 时,原始图像的中心像素才会被保留,否则该像素将被抹去(设为 0)。这样,只有当前景对象的区域足够大,才能在腐蚀操作后仍然存在。

cv2.erode 的基本语法如下:

dst = cv2.erode(src, kernel, iterations=1)
  • src: 输入图像。
  • kernel: 用于腐蚀操作的结构元素。可以使用 cv2.getStructuringElement 函数定义不同形状的结构元素。
  • iterations: 腐蚀操作的次数。在此例中,腐蚀操作执行一次。

此函数通常用于图像预处理,如去除细小噪声和分隔接触物体等,使图像的结构特征更加明显。

img = cv2.imread('images/dige.png')
kernel = np.ones((3,3),np.uint8) 
erosion = cv2.erode(img,kernel,iterations = 1)

cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

不同腐蚀次数下情况对比

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

kernel = np.ones((30,30),np.uint8) 
erosion_1 = cv2.erode(pie,kernel,iterations = 1)
erosion_2 = cv2.erode(pie,kernel,iterations = 2)
erosion_3 = cv2.erode(pie,kernel,iterations = 3)
res = np.hstack((erosion_1,erosion_2,erosion_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

膨胀操作

cv2.dilate 是 OpenCV 库中用于执行图像的膨胀操作的函数。膨胀是一种图像处理技术,通常用于增加图像中前景对象的大小。它主要用于填补前景物体中的小洞、连接邻近的对象等。

在膨胀操作中,将一个结构元素(kernel)滑动过原始图像(src),只要结构元素与原始图像的任何一个像素值相交(即至少一个为 1),原始图像的中心像素就会被设为 1。这样,前景对象在膨胀后通常会变得更大。

cv2.dilate 的基本语法如下:

dst = cv2.dilate(src, kernel, iterations=1)
  • src: 输入图像。
  • kernel: 用于膨胀操作的结构元素。可以使用 cv2.getStructuringElement 函数定义不同形状的结构元素。
  • iterations: 膨胀操作的次数。在此例中,膨胀操作执行一次。

此函数通常与腐蚀操作结合使用,在去除噪声的同时保持物体的尺寸和形状,或用于填充物体内部的小孔和缝隙。

img = cv2.imread('images/dige.png')
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel = np.ones((3,3),np.uint8) 
dige_erosion = cv2.erode(img,kernel,iterations = 1)
# 腐蚀结果
cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 膨胀结果
kernel = np.ones((3,3),np.uint8) 
dige_dilate = cv2.dilate(dige_erosion,kernel,iterations = 1)

cv2.imshow('dilate', dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

膨胀前
OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

膨胀后
OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

不同膨胀结果显示
pie = cv2.imread('images/pie.png')

kernel = np.ones((30,30),np.uint8) 
dilate_1 = cv2.dilate(pie,kernel,iterations = 1)
dilate_2 = cv2.dilate(pie,kernel,iterations = 2)
dilate_3 = cv2.dilate(pie,kernel,iterations = 3)
res = np.hstack((dilate_1,dilate_2,dilate_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

开运算

开运算(Opening)和闭运算(Closing)是图像处理中常用的形态学操作,用于去除小对象、平滑边界,同时保持图像的基本形状不变。这两种操作都使用 cv2.morphologyEx 函数实现,但具体的行为取决于所使用的特定操作类型。

开运算(Opening)

开运算首先进行腐蚀操作,然后进行膨胀操作。这个顺序很重要,因为首先通过腐蚀去掉小的噪声点,然后通过膨胀恢复腐蚀的对象的大小。它常用于去除小的白噪声(前景噪声)。

在 OpenCV 中,开运算可以通过下面的代码实现:

opened_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
  • img: 原始图像。
  • cv2.MORPH_OPEN: 指定使用开运算。
  • kernel: 结构元素,定义了操作的性质。

闭运算(Closing)

闭运算先进行膨胀操作,后进行腐蚀操作。这种操作顺序用于填充前景物体内部的小洞,或小黑点,同时可以连接靠近的对象。闭运算常用于关闭前景物体中的小孔和缝隙。

在 OpenCV 中,闭运算可以通过下面的代码实现:

closed_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
  • img: 原始图像。
  • cv2.MORPH_CLOSE: 指定使用闭运算。
  • kernel: 结构元素,定义了操作的性质。

这两种操作非常适用于图像预处理,如在进行目标检测和轮廓分析之前,用于改善图像的质量。

# 开:先腐蚀,再膨胀
img = cv2.imread('images/dige.png')

kernel = np.ones((5,5),np.uint8) 
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

闭运算

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

梯度运算

cv2.morphologyEx函数在OpenCV中用于执行形态学操作,其中cv2.MORPH_GRADIENT是指定的操作类型之一,代表形态学梯度。

形态学梯度的原理基于图像膨胀和腐蚀的概念。简单来说:

  • 膨胀操作会扩大图像中的亮区域,通过用结构元素探测并取代中心像素的最大值来实现。
  • 腐蚀操作会缩小图像中的亮区域,通过用结构元素探测并取代中心像素的最小值来实现。

梯度操作则计算膨胀图像和腐蚀图像之间的差异。这种差异突出了图像中的高亮边缘,这是因为边缘附近的像素在膨胀时会增加其亮度,而在腐蚀时亮度会减少。因此,梯度操作能有效地捕捉到物体的边界和纹理变化,这对于图像分析和处理中的边缘检测等应用非常有用。

在代码中,kernel参数是一个结构元素,定义了膨胀和腐蚀操作的形状和大小,影响最终梯度的计算结果。

gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel)

cv2.imshow('gradient', gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

礼帽操作

顶帽操作,也称为“白帽”操作,是一种形态学变换,主要用于突出比邻近区域亮的小对象或细节。它通过原始图像与开运算结果的差值来实现:

  1. 开运算:先执行腐蚀操作,然后进行膨胀。这个过程平滑了图像的外部边界,断开了狭窄的连接并消除了细小的突出部分。
  2. 顶帽操作:计算原始图像与开运算结果的差值。这个差值揭示了那些在开运算中被移除的亮部分,因此顶帽操作能够突出显示图像中比周围区域亮的小物体或细节。

cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)中的kernel参数定义了进行腐蚀和膨胀时使用的结构元素的形状和大小,从而影响操作的具体效果。顶帽操作常用于增强图像中的亮区域或用于提取具有特定形状特征的物体。

#礼帽
img = cv2.imread('dige.png')
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
cv2.imshow('tophat', tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能

黑帽

黑帽操作,也称为“黑帽”操作,是一种形态学变换,主要用于突出比邻近区域暗的小对象或细节。它通过闭运算结果与原始图像的差值来实现:

  1. 闭运算:先进行膨胀操作,然后执行腐蚀。这个过程有助于填充前景物体中的小洞,连接邻近的对象,并保持前景物体的总体形状。
  2. 黑帽操作:计算闭运算的结果与原始图像的差值。这个差值揭示了那些在闭运算中新增的暗部分,因此黑帽操作能够突出显示图像中比周围区域暗的小物体或细节。
    cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)中的kernel参数定义了进行膨胀和腐蚀时使用的结构元素的形状和大小,从而影响操作的具体效果。黑帽操作常用于分析图像中的暗区域或检测亮背景中的暗物体。
#黑帽
img = cv2.imread('dige.png')
blackhat  = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT, kernel)
cv2.imshow('blackhat ', blackhat )
cv2.waitKey(0)
cv2.destroyAllWindows()

OpenCV基本图像处理操作(一)——图像基本操作与形态学操作,opencv,计算机视觉,opencv,图像处理,人工智能文章来源地址https://www.toymoban.com/news/detail-855747.html

到了这里,关于OpenCV基本图像处理操作(一)——图像基本操作与形态学操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • OpenCV图像处理学习十,图像的形态学操作——膨胀腐蚀

    OpenCV图像处理学习十,图像的形态学操作——膨胀腐蚀

    一.形态学操作概念 图像形态学操作是指基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学对图像进行处理。 形态学有四个基本操作:腐蚀、膨胀、开操作、闭操作,膨胀与腐蚀是图像处理中最常用的形态学操作手段。 二.形态学操作-膨胀 跟卷积

    2024年02月05日
    浏览(6)
  • 【Python_Opencv图像处理框架】图像基本操作+90bb5729-b33a-4e82-a0d9-faa3e5cbf621

    【Python_Opencv图像处理框架】图像基本操作+90bb5729-b33a-4e82-a0d9-faa3e5cbf621

    很幸运能选择Python语言进行学习,这是有关Opencv的图像处理的第一篇文章,讲解了有关图像处理的一些基础操作,作为初学者,我尽己所能,但仍会存在疏漏的地方,希望各位看官不吝指正❤️ 1. 计算机眼中的图像 计算机眼中的图像由一个个像素组成, 每个像素点的值在

    2023年04月18日
    浏览(5)
  • 我在Vscode学OpenCV 图像处理一(阈值处理、形态学操作【连通性,腐蚀和膨胀,开闭运算,礼帽和黑帽,内核】)

    我在Vscode学OpenCV 图像处理一(阈值处理、形态学操作【连通性,腐蚀和膨胀,开闭运算,礼帽和黑帽,内核】)

    例如,设定阈值为127,然后:  将图像内所有像素值大于 127 的像素点的值设为 255。  将图像内所有像素值小于或等于 127 的像素点的值设为 0。 cv2.threshold() 和 cv2.adaptiveThreshold() 是 OpenCV 中用于实现阈值处理的两个函数,它们之间有以下区别: 1.1.1. cv2.threshold(): 这个函数

    2024年02月05日
    浏览(6)
  • 使用opencv c++完成图像中水果分割(分水岭、形态学操作、通道处理)单独标记每个水果

    使用opencv c++完成图像中水果分割(分水岭、形态学操作、通道处理)单独标记每个水果

    2023.4.16日更新 1. 利用一阶矩增加了草莓等水果的质心绘制。 2. 绘制出了生长方向。 原为本人机器人视觉作业。参考文章http://t.csdn.cn/eQ0qp(目测是上一届的学长) 要求:在网络上寻找水果重叠在一起的图片、经过一系列图像处理,完成每个水果的分割,并单独标记出来。 导

    2024年02月04日
    浏览(31)
  • python数字图像处理基础(二)——图像基本操作、滑动条、鼠标操作

    python数字图像处理基础(二)——图像基本操作、滑动条、鼠标操作

    import cv2 import numpy as np import matplotlib.pyplot as plt 图像读取 cv2.MREAD_COLOR: 彩色图像 或用1 cv2.IMREAD_GRAYSCALE:灰度图像 或用0 img = cv2.imread(‘cat.jpg’, cv2.IMREAD_GRAYSCALE) 等同于: img = cv2.imread(‘cat.jpg’, 0) 图像的显示,也可以创建多个窗口 cv2.imshow(‘img’, img) 等待时间,毫秒级,0表示

    2024年01月18日
    浏览(14)
  • ENVI中图像处理-基本操作

    ENVI中图像处理-基本操作

    熟悉基本的图像处理操作,包括:图像显示、彩色合成、多波段影像叠加、查看头文件、编辑头文件信息、图像裁剪、两个时期影像的对比、关闭文件。 掌握图像处理的基本操作 内容一:打开影像,进行彩色合成:真彩色、标准假彩色、任意假彩色; 1、影像打开 数据:D

    2024年02月08日
    浏览(7)
  • 第一章 基本的图像操作和处理

    第一章 基本的图像操作和处理

    这是个PIL的简单例子:读入图片、转灰度图、显示图片(这两张图片显然有点太大了)。 1.1.1转图像格式 将jpg转成png 1.1.2创建缩略图 显然前面的 图片太大 了,我们可以创建缩略图显得小一点 需要注意的是,这个函数只能缩小、不能放大,缩小后就回不去了。 1.1.3复制和粘

    2024年02月14日
    浏览(6)
  • MATLAB【数字图像处理】 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)

    MATLAB【数字图像处理】 实验一:图像处理基本操作(平移、放大、缩小、旋转、插值)

    1、熟悉并掌握MATLAB工具的使用;  2、实现图像的读取、显示、存储、平移、镜像、放大、缩小及旋转操作; 3、掌握常用的插值方法,并了解其优缺点。 Matlab 2020B 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分别显示RGB图像和灰度图像,注上文字标

    2024年02月06日
    浏览(5)
  • 【计算机视觉】关于图像处理的一些基本操作

    【计算机视觉】关于图像处理的一些基本操作

    图像平滑是指受传感器和大气等因素的影响,遥感图像上会出现某些亮度变化过大的区域,或出现一些亮点(也称噪声)。这种为了抑制噪声,使图像亮度趋于平缓的处理方法就是图像平滑。图像平滑实际上是低通滤波,平滑过程会导致图像边缘模糊化。 均值滤波 线性滤波,针

    2024年02月14日
    浏览(17)
  • OpenCvSharp从入门到实践-(02)图像处理的基本操作

    OpenCvSharp从入门到实践-(02)图像处理的基本操作

    目录 图像处理的基础操作 1、读取图像 1.1、读取当前目录下的图像 2、显示图像 2.1、Cv2.ImShow 用于显示图像。 2.2、Cv2.WaitKey方法用于等待用户按下键盘上按键的时间。 2.3、Cv2.DestroyAllWindows方法用于销毁所有正在显示图像的窗口。 2.4实例1-显示图像 2.4实例2-显示灰度图像 3、保

    2024年02月04日
    浏览(5)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包