1-9 图像膨胀 opencv树莓派4B 入门系列笔记

目录

一、提前准备

二、代码详解

kernel = np.ones((3, 3), np.uint8)

_, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)

dilated_image = cv2.dilate(binary_image, kernel, iterations=1)

三、运行现象

四、完整代码

五、完整工程贴出


一、提前准备

        1、树莓派4B 及 64位系统

        2、提前安装opencv库 以及 numpy库

        3、保存一张图片

二、代码详解

1、读取灰度图以及彩色图

# coding: utf-8 
# 图像膨胀的目的: 1、膨胀操作主要是使图像中高亮部分扩张,使得膨胀后的图像拥有比原图更大的高亮区域。2、将有价值的信息放大import cv2
import numpy as np#从指定目录读取一张图片
image=cv2.imread('/home/raspberry4B/Pictures/MD.jpg',0)
image2=cv2.imread('/home/raspberry4B/Pictures/MD.jpg',-1)

2、图像膨胀操作

#定义膨胀操作的结构元素
kernel=np.ones((3,3),np.uint8)#图像二值化处理:使用127作为阈值  
_, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)  #进行图像膨胀操作(对二值图进行膨胀),iterations表示膨胀次数
dilated_image=cv2.dilate(binary_image,kernel,iterations=1)
dilated_image2=cv2.dilate(image2,kernel,iterations=1)

kernel = np.ones((3, 3), np.uint8)

  • 功能: 定义膨胀操作的结构元素。
  • 参数:
    • (3, 3): 结构元素的大小为3x3的矩阵。
    • np.uint8: 数据类型,表示无符号8位整数。

_, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)

  • 功能: 将灰度图像进行二值化处理,生成二值图像。
  • 参数:
    • image: 输入的灰度图像。
    • 127: 阈值。小于此值的像素设置为0,大于等于此值的像素设置为255。
    • 255: 最大值。大于等于阈值的像素设置为该值。
    • cv2.THRESH_BINARY: 二值化模式,将像素值二分为0和255。

dilated_image = cv2.dilate(binary_image, kernel, iterations=1)

  • 功能: 对二值图像进行膨胀操作。
  • 参数:
    • binary_image: 输入的二值图像。
    • kernel: 进行膨胀操作的结构元素。
    • iterations=1: 膨胀操作的次数,表示重复膨胀操作一次。

3、图像显示

while True:#显示原始图\二值图\腐蚀后的图cv2.imshow('Original image',image)cv2.imshow('Dilated image',dilated_image)cv2.imshow('Binary Image', binary_image)  cv2.imshow('Original image2',image2)cv2.imshow('Dilated image2',dilated_image2)#等待按下‘q’退出key=cv2.waitKey(1)if key&0XFF==ord('q'):break
#释放所有资源
cv2.destroyAllWindows()

三、运行现象

增加膨胀次数效果会更明显

图像膨胀的目的:

1、膨胀操作主要是使图像中高亮部分扩张,使得膨胀后的图像拥有比原图更大的高亮区域

2、将有价值的信息放大

四、完整代码

# coding: utf-8 
# 图像膨胀的目的: 1、膨胀操作主要是使图像中高亮部分扩张,使得膨胀后的图像拥有比原图更大的高亮区域。2、将有价值的信息放大import cv2
import numpy as np#从指定目录读取一张图片
image=cv2.imread('/home/raspberry4B/Pictures/MD.jpg',0)
image2=cv2.imread('/home/raspberry4B/Pictures/MD.jpg',-1)
#定义膨胀操作的结构元素
kernel=np.ones((3,3),np.uint8)#图像二值化处理:使用127作为阈值  
_, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)  #进行图像膨胀操作(对二值图进行膨胀),iterations表示膨胀次数
dilated_image=cv2.dilate(binary_image,kernel,iterations=1)
dilated_image2=cv2.dilate(image2,kernel,iterations=1)while True:#显示原始图\二值图\腐蚀后的图cv2.imshow('Original image',image)cv2.imshow('Dilated image',dilated_image)cv2.imshow('Binary Image', binary_image)  cv2.imshow('Original image2',image2)cv2.imshow('Dilated image2',dilated_image2)#等待按下‘q’退出key=cv2.waitKey(1)if key&0XFF==ord('q'):break
#释放所有资源
cv2.destroyAllWindows()

五、完整工程贴出

(持续更新中)opencv树莓派4B入门系列笔记6~10完整工程源码资源-CSDN文库

持续更新中……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/419244.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PowerShell 脚本自动化 Windows 工作开发流程

在 Windows 环境中,PowerShell 是一个强大且灵活的脚本语言,它不仅能与 Windows 系统深度集成,还能够进行任务自动化处理。对于开发者和系统管理员而言,编写 PowerShell 脚本来自动化常见的工作流程,能显著提升生产效率…

CTFHub技能树-Git泄漏-Log

目录 一、前提知识 1.git泄漏原理 ​编辑 2.git文件泄漏造成后果 3.利用方法 (1) GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,还原重建工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘&#x…

关于C++你应该知道的知识:C/C++内存管理

目录 🌞0.前言 🚈1 . C/C内存分布 🚈2、C语言中动态内存管理方式 🚈3 . C中动态内存管理 🚝3.1 new/delete操作内置类型 🚝3.2 new和delete操作自定义类型 🚈4 . operator new 与 operator…

python编程知识(实现数据加密和解密)

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

html 页面引入 vue 组件之 http-vue-loader.js

一、http-vue-loader.js http-vue-loader.js 是一个 Vue 单文件组件加载器,可以让我们在传统的 HTML 页面中使用 Vue 单文件组件,而不必依赖 Node.js 等其他构建工具。它内置了 Vue.js 和样式加载器,并能自动解析 Vue 单文件组件中的所有内容…

JDK 8 升级 17 及 springboot 2.x 升级 3.x 指南

文章目录 JDK 8 升级 17简介javax.* 包移到 jakarta.*maven pom 中更新 java 版本 springboot 2.x 升级 3.xspring-boot 与 cloud、alibaba-cloud 的版本对应redis 默认配置调整SpringBoot 3.x 整合 Querydsl其他注意事项 maven 及 maven 插件的版本升级maven 版本升级maven-co…

HUAWEI华为MateBook B5-420 i5 集显(KLCZ-WXX9,KLCZ-WDH9)原装出厂Windows10系统文件下载

适用型号:KLCZ-WXX9、KLCZ-WDH9 链接:https://pan.baidu.com/s/12xnaLtcPjZoyfCcJUHynVQ?pwdelul 提取码:elul 华为原装系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、华为浏览器、Office办公软件、华为…

握 手 问 题

目录 一:问题描述 二:思路: 三:代码: 四:结果:1204 一:问题描述 小蓝组织了一场算法交流会议,总共有50 5050 人参加了本次会议。在会议上,大家进行了握手交流。按照…

C++解决:求排列数

描述 输入两个整数m,n&#xff0c;求m个数字中选n个数的排列数。&#xff08;1<n<m<50&#xff09; 输入描述 两个正整数m和n。 输出描述 一个正整数表示排列数。 用例输入 1 6 5 用例输出 1 720 AC code #include<bits/stdc.h> using namespace s…

Avatar 高清图传

Avatar HD VTX 是一款数字视频发射器&#xff0c;专为与 Caddx/Walksnail 的 Avatar HD 系统配合使用而设计。最初以 Walksnail 品牌销售&#xff0c;实际上是 CaddX FPV 的一部分。 这些 VTX 设计用于 Caddx/Walksnail 的 Avatar HD 系统&#xff0c;并可与 Avatar HD Goggle…

【OpenWrt(3)】内网搭建iperf3测速服务器

下载的iperf3 网站&#xff1a;https://iperf.fr/iperf-download.php Window地址&#xff1a;https://github.com/ar51an/iperf3-win-builds 安卓&#xff1a;https://gitee.com/hiyanyx/magic-i-perf 文章目录 下载的iperf3Windows 服务器启动安卓客户端启动参考 Windows 服务…

利士策分享,如何规划多彩的大学生活?

利士策分享&#xff0c;学习规划多彩的大学生活 踏入大学&#xff0c;如同开启一场充满未知与可能的旅程。 为了让这段旅程不仅充满学术的熏陶&#xff0c;还洋溢着生活的多彩与人际的和谐&#xff0c;我们需要精心规划&#xff0c;积极行动。 一、多彩规划&#xff1a;点亮大学…

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽 “弃工从研”的路上很孤独&#xff0c;于是我记下了些许笔记相伴&#xff0c;希望能够帮助到大家 知识点 1. 散列查找 散列查找是一种高效的查找方法&#xff0c;它通过散列函数将关键字映射到数组的一个位置&#xff0c;从而实现快速查找。这种方法的时间复杂度平均为…

【小沐学OpenGL】Ubuntu环境下glut的安装和使用

文章目录 1、简介1.1 OpenGL简介1.2 glut简介1.3 freeglut 2、glut安装2.1 命令安装glut2.2 源码安装glut 3、glut测试3.1 测试1&#xff0c;版本打印3.2 测试2&#xff0c;绘制三角形3.3 测试3&#xff0c;VBO绘制三角形 结语 1、简介 1.1 OpenGL简介 OpenGL作为图形界的工业…

2024最新!Facebook手机版和网页版改名教程!

Facebook作为全球最大的社交平台之一&#xff0c;允许用户自定义名字和昵称。在Facebook更新姓名可以帮助您更好的展现账号形象。本文将为您提供详细的步骤指导&#xff0c;帮助您在手机APP和网页版上轻松完成Facebook改名操作。 Facebook手机版改名 打开Facebook APP并登录账号…

构建模块化的FastAPI应用: 从用户认证到角色控制

实现了用户身份验证及角色授权的基本功能。具体来说&#xff0c;当用户尝试访问某些资源时&#xff0c;系统会首先验证用户的身份&#xff0c;然后根据用户的角色来决定是否允许访问特定资源。例如&#xff0c;普通用户只能访问自己的信息&#xff0c;而管理员可以访问额外的管…

UnLua调用C++函数

一、UnLua调用C全局静态函数 1、新建C类MyLuaUtils&#xff0c;继承BlueprintFunctionLibrary,实现全局静态函数GetInt。 MyLuaUtils.h UCLASS() class LUASHOOTING_API UMyLuaUtils : public UBlueprintFunctionLibrary {GENERATED_BODY()UFUNCTION(BlueprintCallable)static…

Python 神器:wxauto 库——解锁微信自动化的无限可能

&#x1f4dd;个人主页&#x1f339;&#xff1a;誓则盟约 ⏩收录专栏⏪&#xff1a;机器学习 &#x1f921;往期回顾&#x1f921;&#xff1a;“探索机器学习的多面世界&#xff1a;从理论到应用与未来展望” &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f…

GPIO 简介(STM32F407)

一、GPIO简介 什么是GPIO GPIO即通用输入输出端口&#xff0c;全称General Purpose Input Output&#xff0c;是控制或者采集外部器件的信息的外设&#xff0c;即负责输入输出。 它按组分配存在&#xff0c;每组最多16个IO口&#xff0c;组数视芯片而定。比如STM32F407ZGT6是…

【Python】Python 读取Excel、DataFrame对比并选出差异数据,重新写入Excel

背景&#xff1a;我在2个系统下载出了两个Excel&#xff0c;现在通过对下载的2个Excel数据&#xff0c;并选出差异数据 从新写入一个新的Excel中 differences_url rC:\Users\LENOVO\Downloads\differences.xlsx; //要生成的差异Excel的位置及名称 df1_url rC:\Users\LENOVO\Dow…