位置: 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)

  • 电脑管家怎么修复dll文件(电脑管家怎么修改下载路径)

    电脑管家怎么修复dll文件(电脑管家怎么修改下载路径)

  • vivo手机熄屏时间的显示设置在哪(vivo息屏显示在哪里)

    vivo手机熄屏时间的显示设置在哪(vivo息屏显示在哪里)

  • 三重舒适耳塞和硅胶耳塞区别(三重舒适耳塞会影响音质)

    三重舒适耳塞和硅胶耳塞区别(三重舒适耳塞会影响音质)

  • 打印机中间有一段空白(打印机中间有一条黑线怎么办)

    打印机中间有一段空白(打印机中间有一条黑线怎么办)

  • 华为手机右上角的钥匙图标是什么(华为手机右上角有个树叶)

    华为手机右上角的钥匙图标是什么(华为手机右上角有个树叶)

  • Word把格式化分为三类(word将格式划分为 格式化3类)

    Word把格式化分为三类(word将格式划分为 格式化3类)

  • b站为啥占好多手机内存(b站为啥占好多内存)

    b站为啥占好多手机内存(b站为啥占好多内存)

  • 手机摔地上会对内部有影响吗(手机摔地上会对屏幕有影响吗)

    手机摔地上会对内部有影响吗(手机摔地上会对屏幕有影响吗)

  • 主机有电却无法开机(有电但是电脑主机没反应怎么回事)

    主机有电却无法开机(有电但是电脑主机没反应怎么回事)

  • ipad怎样注册新qq号(ipad怎样注册新的id)

    ipad怎样注册新qq号(ipad怎样注册新的id)

  • 苹果xsmax待机时间多久(苹果xsmax待机时掉电速度)

    苹果xsmax待机时间多久(苹果xsmax待机时掉电速度)

  • word生成目录怎么弄(word生成目录怎么对齐)

    word生成目录怎么弄(word生成目录怎么对齐)

  • 苹果怎么设置热点限制(苹果怎么设置热点连接限制)

    苹果怎么设置热点限制(苹果怎么设置热点连接限制)

  • 快手怎么复制别人视频(快手怎么复制别人的视频)

    快手怎么复制别人视频(快手怎么复制别人的视频)

  • iphone11pro信号基带(iphone11pro手机信号)

    iphone11pro信号基带(iphone11pro手机信号)

  • p30什么时候更新emui10(华为p30什么时候更新)

    p30什么时候更新emui10(华为p30什么时候更新)

  • 抖音上传不了本地音乐(抖音上传不了是什么情况)

    抖音上传不了本地音乐(抖音上传不了是什么情况)

  • oppor15x能当遥控器吗(oppor15手机可以当空调遥控器吗)

    oppor15x能当遥控器吗(oppor15手机可以当空调遥控器吗)

  • 微信小蓝圈是什么(微信小蓝圈是什么怎么取消)

    微信小蓝圈是什么(微信小蓝圈是什么怎么取消)

  • 微信耗电量大怎么解决(微信耗电量大怎么解决安卓)

    微信耗电量大怎么解决(微信耗电量大怎么解决安卓)

  • slog2和slog3的区别(slog2和slog3什么场景)

    slog2和slog3的区别(slog2和slog3什么场景)

  • 豆瓣电影如何评分(豆瓣如何评论电影)

    豆瓣电影如何评分(豆瓣如何评论电影)

  • Windows11怎么设置自动登录?Windows11设置自动登录教程(windows11怎么设置锁屏时间)

    Windows11怎么设置自动登录?Windows11设置自动登录教程(windows11怎么设置锁屏时间)

  • 企业所得税视同销售的会计处理是?
  • 抄税是什么意思谁做的事情
  • 增值税税率变化时间节点
  • 增值税先征后退会计处理
  • 个税申报导入上月数据
  • 个体户购买社保和自由人购买社保区别
  • 签了合同没开票
  • 淘汰生产母猪处理销售收入的分录怎么处理?
  • 非增值税纳税人有哪些
  • 增值税专用发票有效期是多长时间
  • 企业经营收入达到多少
  • 一般纳税人开3个点的票不能抵扣进项
  • 原材料投资入股协议约定价值公允价值
  • 企业收到经营外的发票如何做账
  • 技术服务费普通发票怎么做账务处理
  • 研发费用税点是什么意思
  • 免税销售额收入不含税收入怎么算
  • 财务保证金怎么做分录
  • 宣传费开票属于什么费用
  • 差旅费未及时报销说明怎么写
  • 文化事业税收优惠政策
  • 小型微利企业普惠性减税政策
  • 印花税的征税范围及税率
  • 销售成本会计分录怎么做
  • 运输费计入什么会计科目?
  • 合同的情势变更是什么?
  • 2019年税改前后税率对比
  • 清除文件夹exe病毒工具
  • PHP调用API
  • 利息收入结转的正确分录
  • 科研的成果形式
  • mediabrowser.exe是什么
  • 现金折扣的会计分录处理
  • 美国布莱斯大峡谷成因
  • 本年利润怎么结转到未分配利润分录
  • javascript导入包
  • yolo 模型训练
  • 你应该知道的数学常识纪录片
  • php标准数据类型共有四种
  • 股息和未分配利润的区别
  • 应收账款未计提怎么处理
  • ps调整边缘在哪里快捷键
  • 企业所得税月月交吗
  • 小规模纳税人附加税会计分录
  • 农机融资租赁公司联系方式
  • sql 判断字符串中是否包含数字
  • Mysql获取当前年份
  • 物流货损怎样处理
  • 固定资产后续支出
  • 工程施工的主要经济指标包括哪些
  • 商场返现活动怎么入账
  • 资产评估机构可以评估土地吗
  • 受托加工的成本
  • 工业企业成本核算的一般程序包括下列的
  • 贷款收取服务费
  • 固定资产报废会计
  • 应收帐款收不回来怎么做会计分录
  • 商业承兑汇票和银行承兑汇票的区别
  • 其他应收款收不回来了,如何核销
  • mysql基础概念
  • 数码相机无线连接手机
  • windows server 2008 r2开启远程访问
  • 如何使用easybcd
  • cmdexe文件损坏
  • 不需要秘密的wifi安全吗
  • 如何使用一键启动
  • win7用户账户控制设置电脑重启后恢复
  • 在Mac OS Yosemite 系统中如何发送超大邮件附件
  • ubuntu20.04.1安装
  • 双系统如何迁移到固态硬盘
  • win10 Mobile 10586.36预览版更新了哪些内容?
  • win7玩csgo掉帧怎么办
  • 如何删掉win7系统
  • python中字符
  • 深入理解java
  • jquery插件是干什么的
  • 安卓 触摸屏
  • python 终端
  • 一般贸易和非一切贸易
  • 电子发票怎么作废
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设