位置: IT常识 - 正文

模式识别与图像处理课程实验一:图像处理实验(颜色算子实验、Susan、Harris角点检测实验、 sobel边缘算子检测实验)(模式识别与图像处理能做什么)

编辑:rootadmin
模式识别与图像处理课程实验一:图像处理实验(颜色算子实验、Susan、Harris角点检测实验、 sobel边缘算子检测实验) 模式识别与图像处理课程实验一:图像处理实验-->> 颜色算子实验、Susan、Harris角点检测实验、 sobel边缘算子检测实验一、 实验内容二、 颜色算子实验2.1、 提取红色2.2、 提取绿色2.3、 提取蓝色三、 Susan、Harris角点检测实验3. 1、 实验程序3.1.1、Susan角点检测3.1.2、Harris角点检测四、 sobel边缘算子检测实验4.1、sobel边缘算子检五、 实验总结

推荐整理分享模式识别与图像处理课程实验一:图像处理实验(颜色算子实验、Susan、Harris角点检测实验、 sobel边缘算子检测实验)(模式识别与图像处理能做什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:模式识别与图像识别的区别,模式识别与图像处理车牌识别结课报告,模式识别与图像处理能做什么,模式识别与图像处理就业,模式识别与图像处理区别,模式识别与图像处理就业方向,模式识别与图像处理,模式识别与图像识别,内容如对您有帮助,希望把文章链接给更多的朋友!

一、 实验内容

要求编写一个包含颜色算子,Susan,Harris,角点,sobel边缘算子的程。

二、 颜色算子实验2.1、 提取红色实验的程序如下import numpy as npimport cv2 as cvimage = cv.imread("1.jpg")image = image / np.ones([1, 1, 3]).astype(np.float32)image = cv.cvtColor(image, cv.COLOR_BGR2RGB)print(image.shape)# 颜色算子# redredAdd = np.ones([1, 1, 3]).astype(np.float32)redAdd[0, 0, 0] = 1.0redAdd[0, 0, 1] = 0.5redAdd[0, 0, 2] = 0.25redSub = np.ones([1, 1, 3]).astype(np.float32)redSub[0, 0, 0] = 0.25redSub[0, 0, 1] = 0.5redSub[0, 0, 2] = 1.0image1 = np.mean(image * redAdd, 2)image2 = np.mean(image * redSub, 2) + 100imageRed = image1 / image2redMax = np.max(imageRed)redMin = np.min(imageRed)imageRed = 255 * (imageRed - redMin) / (redMax - redMin)cv.imwrite("1red.png", imageRed)

运行结果如下

实验原图 实验结果图 2.2、 提取绿色

实验的程序如下

import numpy as npimport cv2 as cvimage = cv.imread("1.jpg")image = image / np.ones([1, 1, 3]).astype(np.float32)image = cv.cvtColor(image, cv.COLOR_BGR2RGB)print(image.shape)# greengreenAdd = np.ones([1, 1, 3]).astype(np.float32)greenAdd[0, 0, 0] = 0.5greenAdd[0, 0, 1] = 1.0greenAdd[0, 0, 2] = 0.25greenSub = np.ones([1, 1, 3]).astype(np.float32)greenSub[0, 0, 0] = 0.5greenSub[0, 0, 1] = 0.25greenSub[0, 0, 2] = 1.0image1 = np.mean(image * greenAdd, 2)image2 = np.mean(image * greenSub, 2) + 100imageGreen = image1 / image2greenMax = np.max(imageGreen)greenMin = np.min(imageGreen)imageRed = 255 * (imageGreen - greenMin) / (greenMax - greenMin)cv.imwrite("1green.png", imageRed)

运行结果如下

实验原图

实验结果图

2.3、 提取蓝色实验的程序如下import numpy as npimport cv2 as cvimage = cv.imread("1.jpg")image = image / np.ones([1, 1, 3]).astype(np.float32)image = cv.cvtColor(image, cv.COLOR_BGR2RGB)print(image.shape)# bulebuleAdd = np.ones([1, 1, 3]).astype(np.float32)buleAdd[0, 0, 0] = 0.25buleAdd[0, 0, 1] = 0.5buleAdd[0, 0, 2] = 1.0buleSub = np.ones([1, 1, 3]).astype(np.float32)buleSub[0, 0, 0] = 1.0buleSub[0, 0, 1] = 0.5buleSub[0, 0, 2] = 0.25image1 = np.mean(image * buleAdd, 2)image2 = np.mean(image * buleSub, 2) + 100imageBlue = image1 / image2blueMax = np.max(imageBlue)blueMin = np.min(imageBlue)imageBlue = 255 * (imageBlue - blueMin) / (blueMax - blueMin)cv.imwrite("1blue.png", imageBlue)模式识别与图像处理课程实验一:图像处理实验(颜色算子实验、Susan、Harris角点检测实验、 sobel边缘算子检测实验)(模式识别与图像处理能做什么)

运行结果如下

实验原图

实验结果图

三、 Susan、Harris角点检测实验3. 1、 实验程序3.1.1、Susan角点检测

Susan角点检测程序如下

import numpy as npimport cv2 as cvimage = cv.imread("2.jpg")image = np.mean(image, 2)height = image.shape[0]width = image.shape[1]print(image.shape)#susan 算子radius = 5imageSusan = np.zeros([height, width]).astype(np.float32)for h in range(radius, height-radius): for w in range(radius, width-radius): numSmall = 0 numLarge = 0 numAll = 0 for y in range(-radius, radius + 1): for x in range(-radius, radius+1): distance = np.sqrt(y**2 + x**2) if distance <= radius: numAll += 1 if image[h + y, w + x] < image[h, w] - 27: numSmall += 1 if image[h + y, w + x] > image[h, w] + 27: numLarge += 1 ratio = 1.0 * numSmall / numAll ratio2 = 1.0 * numLarge / numAll if ratio < 0.3: imageSusan[h, w] = 0.3 - ratio if ratio2 > 0.7: imageSusan[h, w] = ratio2 - 0.7imageMax = np.max(imageSusan)imageMin = np.min(imageSusan)imageSusan = 255*(imageSusan - imageMin)/(imageMax - imageMin)print(imageSusan.shape)cv.imwrite("2.png", imageSusan)运行结果如下

实验原图

实验结果图

3.1.2、Harris角点检测Harris角点检测程序如下import cv2 as cvimport numpy as npimport matplotlib.pyplot as plt# 读取图像img = cv.imread('3.jpg')lenna_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)# 图像转换成灰度图像grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)grayImage = np.float32(grayImage)# Harris算子harrisImage = cv.cornerHarris(grayImage, 2, 3, 0.04)harrisImage = cv.dilate(harrisImage, None)# 设置阈值thresImage = 0.006 * harrisImage.max()img[harrisImage > thresImage] = [255, 0, 0]# 显示正常中文的标签plt.rcParams['font.sans-serif'] = ['SimHei']titles = [u'(a)原始图像', u'(b)Harris图像']images = [lenna_img, img]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()

运行结果如下

四、 sobel边缘算子检测实验4.1、sobel边缘算子检sobel边缘算子检程序如下import numpy as npimport cv2image = cv2.imread("3.jpg")height = image.shape[0]width = image.shape[1]sobelResult = np.zeros([height - 2, width - 2, 1]).astype(np.float32)sobelX = np.zeros([3, 3, 1]).astype(np.float32)sobelY = np.zeros([3, 3, 1]).astype(np.float32)sobelX[0, 0, 0] = -1sobelX[1, 0, 0] = -2sobelX[2, 0, 0] = -1sobelX[0, 2, 0] = 1sobelX[1, 2, 0] = 2sobelX[2, 2, 0] = 1sobelY[0, 0, 0] = -1sobelY[0, 1, 0] = -2sobelY[0, 2, 0] = -1sobelY[2, 0, 0] = 1sobelY[2, 1, 0] = 2sobelY[2, 2, 0] = 1for h in range(0, height - 3): for w in range(0, width - 3): #求方向梯度 imageIncre = image[h:h + 3, w:w + 3] gradientX = np.sum(imageIncre * sobelX) gradientY = np.sum(imageIncre * sobelY) gradient = np.sqrt(gradientX**2 + gradientY**2) sobelResult[h, w, 0] = gradientimageMax = np.max(sobelResult)imageMin = np.min(sobelResult)sobelResult = 255*(sobelResult - imageMin) / (imageMax - imageMin)cv2.imwrite("3.png", sobelResult)

2、 运行结果如下

实验原图

实验结果图

五、 实验总结1、 掌握了编写含颜色算子图像处理、Susan与Harris角点图像检测、sobel边缘算子图像检测的程序编写方法。2、 通过实验、对于边缘检测算子与角点检测算子有了进一步的掌握。
本文链接地址:https://www.jiuchutong.com/zhishi/298747.html 转载请保留说明!

上一篇:【网络应用开发】实验1--Servlet技术及应用(网络应用开发技术)

下一篇:【JavaScript】JS实用案例分享:选择器组件 | 简易计算器(javascript js)

  • 苹果13怎么设置桌面布局(苹果13怎么设置来电铃声)

    苹果13怎么设置桌面布局(苹果13怎么设置来电铃声)

  • 电脑新建文件夹如何改名字(电脑新建文件夹怎么发送到微信)

    电脑新建文件夹如何改名字(电脑新建文件夹怎么发送到微信)

  • 手机打电话对方声音卡顿(手机打电话对方听我说话断断续续)

    手机打电话对方声音卡顿(手机打电话对方听我说话断断续续)

  • 抖音小店手机上可以上产品吗(抖音小店手机上如何打印面单)

    抖音小店手机上可以上产品吗(抖音小店手机上如何打印面单)

  • 微信刚解封要注意什么防止追封(微信刚解封要注销吗)

    微信刚解封要注意什么防止追封(微信刚解封要注销吗)

  • 为啥win10装不了eviews(为啥win10装不了eviews3.1)

    为啥win10装不了eviews(为啥win10装不了eviews3.1)

  • cd-rom是一种什么的外存储器(cdrom是一种什么的外储存器)

    cd-rom是一种什么的外存储器(cdrom是一种什么的外储存器)

  • 苹果手机温度低自动关机(苹果手机温度低充电会变慢吗)

    苹果手机温度低自动关机(苹果手机温度低充电会变慢吗)

  • switch连显示器没反应

    switch连显示器没反应

  • 网络图的特点是什么(网络图有哪些形式)

    网络图的特点是什么(网络图有哪些形式)

  • iphonexs发热卡顿严重(苹果xs容易发热,发热后很卡)

    iphonexs发热卡顿严重(苹果xs容易发热,发热后很卡)

  • id被锁定是什么意思(id 被锁定)

    id被锁定是什么意思(id 被锁定)

  • qq显示有一个共同好友是好友本身吗(QQ显示有一个共友)

    qq显示有一个共同好友是好友本身吗(QQ显示有一个共友)

  • ps图片怎么变成灰色(ps图片怎么变成cad线稿)

    ps图片怎么变成灰色(ps图片怎么变成cad线稿)

  • win10如何找到运行(win10如何找到运行窗口)

    win10如何找到运行(win10如何找到运行窗口)

  • 苹果耳机不见了怎么找(苹果耳机不见了找不到位置)

    苹果耳机不见了怎么找(苹果耳机不见了找不到位置)

  • 手机怎么制作动态相册(手机怎么制作动漫视频)

    手机怎么制作动态相册(手机怎么制作动漫视频)

  • 华为限制几个进程(华为的限制)

    华为限制几个进程(华为的限制)

  • 手机喇叭进油了怎么办(手机喇叭进油了怎么清理)

    手机喇叭进油了怎么办(手机喇叭进油了怎么清理)

  • 荣耀9人脸识别怎么设置(荣耀80人脸识别怎么设置)

    荣耀9人脸识别怎么设置(荣耀80人脸识别怎么设置)

  • 京东怎么推迟收货(京东如何推迟收货时间)

    京东怎么推迟收货(京东如何推迟收货时间)

  • 电脑开机广告太多怎么办(电脑开机广告太慢怎么办)

    电脑开机广告太多怎么办(电脑开机广告太慢怎么办)

  • ✝️ 强制 Vue 重新渲染组件的正确方法

    ✝️ 强制 Vue 重新渲染组件的正确方法

  • 利用织梦(dedecms)如何仿站(如何用织梦在本地搭建网站)

    利用织梦(dedecms)如何仿站(如何用织梦在本地搭建网站)

  • 中税协网站怎样补学时
  • 支付职工的培训费计入什么科目
  • 建筑公司多个项目,增值税收入确认
  • 债权人豁免债务的账务
  • 发票勾选错了已报税怎么办
  • 物料耗用
  • 广告公司如何经营管理
  • 房地产开发企业资质等级有几个
  • 机动车换车
  • 高速公路通行费发票可以抵扣增值税吗
  • 未过户的车辆对车辆影响
  • 材料已入库,发票账单未到的会计分录
  • 门店活动经费计入什么
  • 企业增值税留抵退税新闻稿范文
  • 工伤期间奖金发放标准
  • 开租金发票可以提前开的吗?
  • 环保费用计入哪个科目
  • 企业支付宝可以转账到对公账户吗
  • 全年平均职工人数按季度平均公式
  • 工资薪金所得税率表2023
  • 科研机构进口直接用于科学研究的仪器免征增值税吗
  • windows10如何开机启动软件
  • 小规模纳税企业在应交增值税明细科目
  • 收据能入账当凭证吗
  • php页面传值
  • 64位windows系统下安装Memcache缓存
  • php字符串定义的三种方式
  • 押金收不回的会计分录
  • 增值税税率类型
  • 耕地佔用税的缴纳期限
  • 科西嘉岛攻略
  • php控制器是用来做什么的
  • 其他综合收益需要写二级科目吗
  • el-upload上传文件携带参数
  • uniapp下拉
  • crypto 解密
  • day02-HTML02
  • 未分配利润在科目余额表里怎么看
  • 试运行收入会计分录
  • 原材料折价销售怎么算
  • 员工回家探亲的文案
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • 发行的企业债券属于所有者权益吗
  • sql2005sp4
  • 房屋消防工程
  • 购进运输服务取得的成果
  • 出口不报关怎么收款
  • 营业税金及附加怎么计算
  • 招待客户住宿属于什么费用
  • 医疗投资机构的定义
  • 出口退税进项发票有什么要求
  • 买断式买入
  • ubuntu安装linux五笔输入法
  • 在ubuntu中安装虚拟机
  • demon.exe是什么
  • linux系统init命令
  • linux ./文件
  • linux系统硬盘分区类型
  • virtualbox开启虚拟化
  • macbook xcode
  • unity 链表
  • 给网页添加javascript
  • cocos2dx webview
  • node.js加密
  • 显示解析包时出错是怎么回事
  • 如何解决eclipse非正常关闭重打开编译代码
  • 在unity中单例的主要作用
  • unity中播放视频
  • js继承原型链
  • 转换什么
  • Vue-Access-Control 前端用户权限控制解决方案
  • shell脚本逐条执行
  • python语言文件
  • javascript的dom
  • js判断ua
  • 厦门增值税发票查询
  • 个人所得税预扣预缴办法
  • 公务员考试税局
  • 河北省电子税务局app下载
  • 购房税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设