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

  • 增值税普通发票几个点
  • 如何进行增值税发票认证
  • 邮政电信业务差距大吗
  • 开增值税发票折扣折让是什么意思?
  • 验收入库材料结转怎么写
  • 劳务外包人员算不算从业人员
  • 过路费报销属于什么费用科目
  • 合同负债属于负债吗
  • 停车场自助缴费系统
  • 开业费用属于什么费用
  • 代建制规定
  • 核定征收企业怎么分红的
  • 关税的记税依据
  • 免征土地增值税
  • 债权性投资损失账务处理
  • 天然气安装工程施工劳务协议
  • 新注册的公司什么时候可以开票纳税
  • 地税局返的个人所得税手续费多久返还?
  • 代开的专票怎么做账?
  • 财税政策是什么
  • 固定资产折旧年限的最新规定2023
  • 商品流水账怎么做
  • 积分兑换现金的软件
  • 非专利技术转让合同印花税
  • 赠送给客户的商品怎么做账
  • 租个人房屋办公怎么租
  • 装修费怎么摊销,租期两年
  • 企业购入的固定资产,均要先计入在建工程
  • 销售使用过的固定资产3%减按2%
  • 计提小规模增值税的账务处理
  • 联想笔记本bios密码忘记了怎么清除
  • 项目投资净现值计算公式
  • 结转本年利润之后还要干啥
  • 腾讯电脑管家中蓝牙在哪
  • 工地安装监控哪个部门管
  • 库乐队是苹果自带的嘛
  • 企业票据贴现费怎么算
  • KbdTray.exe - KbdTray是什么进程 有什么作用
  • mini program是什么
  • vue运行报错
  • html的表单怎么做
  • php 正则表达式教程
  • 不得抵扣增值税的情形有哪些
  • 建筑保温材料施工规范
  • 工会组织机构需要备案吗
  • 赔偿款收据样本
  • 域名费用怎么交
  • php调用变量
  • discuz是啥
  • 企业投资股票收益怎么交税
  • 结转各项成本的会计分录
  • 增值税进项税额加计抵减会计处理
  • 商品流通企业采购费用
  • 购入的设备用于研发怎样记账
  • 损益类科目全部科目
  • 应收代位追偿款会计分录
  • 谈一谈企业应如何做才能更好地、有效地激励员工
  • 什么情况下必须打狂犬疫苗
  • 退货会计如何处理
  • 待处理财产损益的账务处理
  • 预付工资怎么入账
  • 帐簿的保管期限
  • sql语句编译执行过程
  • 电脑开机显示xp后无反应
  • 怎样设置windows不更新
  • tcpip. sys
  • ip冲突不能上网怎么解决
  • win7怎么连接其他电脑共享的打印机
  • qtzgacer.exe - qtzgacer进程是什么文件 .作用是什么
  • win7或win8、win8.1系统下安装ubuntu实现双系统图文教程
  • cocos2dx官方教程
  • css-1
  • 浅析中国式现代化的理论价值与现实意义
  • bat修改注册表数值
  • nodejs来一打c++扩展
  • shell批处理脚本
  • jquery中的css方法
  • 五证合一后还需要去税务局吗
  • 江苏企业所得税税率2023
  • 境外个人税务备案登记表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设