新闻动态

行业新闻企业新闻安博电竞

边缘检测与角点检测(模式识别与图像处理课程作业) TPMG371J

安博电竞

边缘检测与角点检测(模式识别与图像处理课程作业)

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

一 、边缘检测

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

Sobel与Canny边缘检测代码如下所示

import cv2 as cvimport matplotlib.pyplot as plt

1.1、读取图像

读取图像的代码如下所示

# 读取图像img = cv.imread('Lena.jpg')lenna_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)

1.2、图像转换成灰度图像

图像转换成灰度图像的代码如下所示

# 图像转换成灰度图像grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

1.3 、Sobel算子

Sobel算子的代码如下所示

'''Sobel算子'''x = cv.Sobel(grayImage, cv.CV_16S, 1, 0)     # 对x求一阶导数y = cv.Sobel(grayImage, cv.CV_16S, 0, 1)    # 对y求一阶导数absX = cv.convertScaleAbs(x)absY = cv.convertScaleAbs(y)Sobel = cv.addWeighted(absX, 0.5, absY, 0.5, 0)

1.4、Canny算子

Canny算子的代码如下所示

'''Canny算子'''# 高斯滤波降噪gaussian = cv.GaussianBlur(grayImage, (3, 3), 0)# Canny算子Canny = cv.Canny(gaussian, 50, 100)

1.5 、显示正常中文的标签

显示正常中文的标签的代码如下所示

# 显示正常中文的标签plt.rcParams['font.sans-serif'] = ['SimHei']titles = [u'(a)原始图像', u'(b)Sobel图像', u'(c)Canny图像']images = [lenna_img, Sobel, Canny]for i in range(3):plt.subplot(1, 3, i + 1), plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])plt.show()

1.6 、边缘检测结果

边缘检测运行结果结果如下所示

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

Sobel与Canny边缘检测的优缺点

  1. sobel:
  1. canny:

二、角点检测

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

Susan与Harris角点检测代码如下所示

import cv2 as cvimport numpy as npimport matplotlib.pyplot as plt

2.1、读取图像

读取图像的代码如下所示

# 读取图像img = cv.imread('Lena.jpg')lenna_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)

2.2 、图像转换成灰度图像

图像转换成灰度图像的代码如下所示

# 图像转换成灰度图像grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)grayImage = np.float32(grayImage)

2.3  、Harris算子

Harris算子的代码如下所示

'''Harris算子'''harrisImage = cv.cornerHarris(grayImage, 2, 3, 0.04)harrisImage = cv.dilate(harrisImage, None)

2.4、设置阈值

设置阈值的代码如下所示

# 设置阈值thresImage = 0.006 * harrisImage.max()img[harrisImage > thresImage] = [255, 0, 0]

2.5 、Susan算子

Susan算子的代码如下所示

'''Susan算子'''def img_extraction(image):"""img_extraction 函数利用susan角点检测算法,对图像进行处理"""print("最小灰度值,%d" % image.min())print("最大灰度值,%d" % image.max())threshold_value = (int(image.max())-int(image.min())) / 10print("初始阈值为: %d" % threshold_value)offsetX = [-1, 0, 1,-2, -1, 0, 1, 2,-3, -2, -1, 0, 1, 2, 3,-3, -2, -1, 0, 1, 2, 3,-3, -2, -1, 0, 1, 2, 3,-2, -1, 0, 1, 2,-1, 0, 1]offsetY = [-3, -3, -3,-2, -2, -2, -2, -2,-1, -1, -1, -1, -1, -1, -1,0, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1,2, 2, 2, 2, 2,3, 3, 3]for i in range(3, image.shape[0] - 3):     # 利用圆形模板遍历图像,计算每点处的USAN值for j in range(3, image.shape[1] - 3):same = 0for k in range(0, 37):if abs(int(image[i + int(offsetY[k]), j + int(offsetX[k]), 0]) - int(image[i, j, 0])) < threshold_value:             # 计算相似度same += 1if same < 18:image[i, j, 0] = 18 - sameimage[i, j, 1] = 18 - sameimage[i, j, 2] = 18 - sameelse:image[i, j, 0] = 0image[i, j, 1] = 0image[i, j, 2] = 0return imagedef img_revise(image):"""img_revise 函数用于对角点处理后的图像,进行非极大值抑制修正"""X = [-1, -1, -1, 0, 0, 1, 1, 1]     # X轴偏移Y = [-1, 0, 1, -1, 1, -1, 0, 1]     # Y轴偏移for i in range(4, image.shape[0]-4):for j in range(4, image.shape[1]-4):flag = 0for k in range(0, 8):print(i)if image[i, j, 0] <= image[int(i + X[k]), int(j + Y[k]), 0]:flag += 1breakif flag == 0:       # 判断是否是周围8个点中最大的值,是则保留image[i, j, 0] = 255image[i, j, 1] = 255image[i, j, 2] = 255else:image[i, j, 0] = 0image[i, j, 1] = 0image[i, j, 2] = 0return imageoriginImage = cv.imread('Lena.jpg')originImage = cv.cvtColor(originImage, cv.COLOR_BGR2RGB)

2.6、图像转换成灰度图像

图像转换成灰度图像的代码如下所示

# 图像转换成灰度图像grayImage = np.float32(originImage)

2.7 、调用susan角点检测算法

调用susan角点检测算法的代码如下所示

# 调用susan角点检测算法extraImage = img_extraction(originImage)

2.8、调用img_revise()非极大值抑制修正

调用img_revise()非极大值抑制修正的代码如下所示

# 调用img_revise()非极大值抑制修正susanImages = img_revise(extraImage)

2.9 、显示正常中文的标签

显示正常中文的标签的代码如下所示

# 显示正常中文的标签plt.rcParams['font.sans-serif'] = ['SimHei']titles = [u'(a)原始图像', u'(b)Harris图像', u'(c)Susan图像']images = [lenna_img, img, susanImages]for i in range(3):plt.subplot(1, 3, i + 1), plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])plt.show()

2.10、角点检测结果

角点检测运行结果结果如下所示

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

Susan与Harris角点检测算子的优缺点

  1. Harris:
  1. Susan:
chatgpt免费软件,chatgpt api 免费接口,chatgpt 聊天机器人教程,chatgpt 指令大全,chatgpt app

边缘检测与角点检测(模式识别与图像处理课程作业)

黑帽SEO泛目录程序与ChatGPT

在数字化时代 ,搜索引擎优化(SEO)已经成为许多网站主的关注焦点 。黑帽SEO泛目录程序和ChatGPT是两种不同但有着相似目标的工具。本文将介绍这两种工具的特点和作用。

首先,黑帽SEO泛目录程序是一种以不恰当的方式提高网站排名的工具 。它通过创建大量重复内容的目录页面来吸引搜索引擎的注意  。然而,这种方法在搜索引擎算法的更新下已经不再有效,并且可能导致网站被降权或封禁。因此  ,黑帽SEO泛目录程序已经逐渐被网站主弃用 。

与之相反 ,ChatGPT是一种基于人工智能技术的自然语言处理工具。它使用大规模的语料库进行训练,可以生成与人类对话类似的文本回应。ChatGPT可以被应用在各种场景中 ,如客服对话 、文本摘要和创作助手等 。它能够生成具有逻辑性和连贯性的文本 ,对于提高用户体验和提供个性化服务具有重要意义。