当前位置: 首页 > news >正文

OPENCV C++(一) 二进制和灰度原理 处理每个像素点值的方法

#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

必须包含的头文件! 才能开始编写代码

  读取相片 一般来说加个保护程序 不至于出error和卡死

   Mat image = imread("test.webp");  //存放自己图像的路径 if (image.empty()){printf("could not load image...\r\n");return -1;}

创造一个Mat形的变量(手动的灰度制作)

 int h = image.rows;int w = image.cols;//grayMat graymat;graymat.create(h, w, CV_8UC1);for (int j = 0; j < h; j++) {for (int i = 0; i < w; i++) {int grayvalue = (image.at<Vec3b>(j, i)[0] + image.at<Vec3b>(j, i)[1] + image.at<Vec3b>(j, i)[2]) / 3;graymat.at<uchar>(j, i) = grayvalue;}}imshow("显示图像2",graymat);waitKey(0);destroyAllWindows();

其中有个操作每点操作像数值的操作 需要学习

 graymat.at<uchar>(j, i)

这是一个像素点的值,也就是如果为RGB的话,那么也是三个通道的,只有灰度才能直接用,因为灰度就一个值。如果是RGB就需要如下使用各个通道0 1 2

image.at<Vec3b>(j, i)[0]

如下是手动制作二进制图,就是遍历每个像素,判断阈值进行0和255的赋值罢了

 Mat binarymat;binarymat.create(h, w, CV_8UC1);for (int j = 0; j < h; j++) {for (int i = 0; i < w; i++) {if (graymat.at<uchar>(j, i) > 100) { binarymat.at<uchar>(j, i) = 255;}else {binarymat.at<uchar>(j, i) = 0;}}}

效果图:

 

 

 

第一期学习结束!

相关文章:

OPENCV C++(一) 二进制和灰度原理 处理每个像素点值的方法

#include <opencv2/opencv.hpp> using namespace std; using namespace cv;必须包含的头文件&#xff01; 才能开始编写代码 读取相片 一般来说加个保护程序 不至于出error和卡死 Mat image imread("test.webp"); //存放自己图像的路径 if (image.empty()){p…...

Python GUI编程(Tkinter)

Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库&#xff0c;几个常用 Python GUI 库如下&#xff1a; Tkinter&#xff1a; Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows …...

K8S简介

目录 前言K8S 简介K8S 是什么作用Kubernetes 主要功能如下&#xff1a;Kubernetes 集群架构与组件 核心组件Master 组件Kube-apiserverKube-controller-managerKube-scheduler配置存储中心 etcd Node 组件KubeletKube-Proxydocker 或 rocket Kubernetes 核心概念PodPod控制器La…...

策略模式——算法的封装与切换

1、简介 1.1、概述 在软件开发中&#xff0c;常常会遇到这种情况&#xff0c;实现某一个功能有多条途径。每一条途径对应一种算法&#xff0c;此时可以使用一种设计模式来实现灵活地选择解决途径&#xff0c;也能够方便地增加新的解决途径。为了适应算法灵活性而产生的设计模…...

c++转换构造,拷贝构造,operator=

c转换构造&#xff0c;拷贝构造&#xff0c;operator 一.转换构造 定义一个类 class CTest { public:int m_a;CTest(int m_a):m_a(0){} };在主函数中定义对象 CTest tes1(1); CTest tes2 5;//我们发现这种定义对象的方式不符合常理&#xff0c;这里其实是发生了隐式类型转…...

支付宝蜻蜓设备abs调试

蜻蜓设备系统日志调试 1、蜻蜓设备进入开发者模式 长按关键键直到屏幕上出现设置按钮&#xff0c;点击设置按钮&#xff0c;选择关于本机&#xff0c;找到系统版本&#xff0c;连续点击8次&#xff0c;选择进入调试模式 2、找到小程序容器&#xff0c;连续点击8次&#xff0…...

论memset的时间代价

论memset的时间代价 众所周知&#xff0c;memset是一个常用的数组赋值方式&#xff0c;几乎每个OI player全都使用过&#xff0c;但是这个函数从来不要脸&#xff0c;也不给你脸。 大家耳顺能详的几个例子&#xff1a; ①memset(a,0,sizeof(a));把a全赋值成0。 ②memset(a,…...

linux下绑定进程到指定CPU的操作方法

taskset简介 # taskset Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]] Show or change the CPU affinity of a process. Options: -a, --all-tasks operate on all the tasks (threads) for a given pid -p, --pid operate on ex…...

springboot+maven插件调用mybatis generator自动生成对应的mybatis.xml文件和java类

mybatis最繁琐的事就是sql语句和实体类&#xff0c;sql语句写在java文件里很难看&#xff0c;字段多的表一开始写感觉阻力很大&#xff0c;没有耐心&#xff0c;自动生成便成了最称心的做法。自动生成xml文件&#xff0c;dao接口&#xff0c;实体类&#xff0c;虽一直感觉不太优…...

C# 根据前台传入实体名称,动态查询数据

前言&#xff1a; 项目中时不时遇到查字典表等数据&#xff0c;只需要返回数据&#xff0c;不需要写其他业务&#xff0c;每个字典表可能都需要写一个接口给前端调用&#xff0c;比较麻烦&#xff0c;所以采用下面这种方式&#xff0c;前端只需传入实体名称即可&#xff0c;例…...

Netty入门学习

目录 为什么要学习nettynetty学习导图学习netty前需要知道的知识I/O模型主要I/O模型 netty框架的整体结构netty的逻辑架构网络通信层事件调度层服务编排层 为什么要学习netty Netty是由JBOSS提供的一个Java开源框架&#xff0c;现为Github上的独立项目。Netty本质是一个NIO框架…...

代客泊车对HUT功能交互规范

目录 1. 版本记录... 7 2. 文档范围和控制... 8 2.1 目的/范围... 8 2.2 文档冲突... 8 2.3 文档授权... 8 2.4 文档更改控制... 8 3. 系统组成... 9 3.1 IPAS系统&#xff08;环视和超声波雷达&#xff09;...…...

mysql的update_time

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT,update_time TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间 );具体解释如下&#xff1a; DEFAULT CURRENT_TIMESTAMP: 这部分表示当插入…...

避免安装这5种软件,手机广告频繁弹窗且性能下降

在我们使用手机的日常生活中&#xff0c;选择合适的应用软件对于保持良好的使用体验至关重要。然而&#xff0c;有些软件可能会给我们带来不必要的麻烦和困扰。特别是那些频繁弹窗广告、导致手机性能下降的应用程序&#xff0c;我们应该尽量避免安装它们。 首先第一种&#xf…...

kafka-事务

1. 事务的5个API // 1初始化事务 void initTransactions();// 2开启事务 void beginTransaction() throws ProducerFencedException;// 3在事务内提交已经消费的偏移量&#xff08;主要用于消费者&#xff09; void sendOffsetsToTransaction(Map<TopicPartition, OffsetAn…...

【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)

阿里云官网链接 https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 网上搜了很多教程&#xff0c;但是我没在界面看到有vnc连接&#xff0c;后面才发现官网有教程。 其实官网很详细了&#xff0c;不过这里还是…...

Python 扩展 快捷贴士:os模块下的创建目录的方式

Python3 os.makedirs() 方法 概述 os.makedirs() 方法用于递归创建多层目录。 如果子目录创建失败或者已经存在&#xff0c;会抛出一个 OSError 的异常&#xff0c;Windows上Error 183 即为目录已经存在的异常错误。 如果第一个参数 path 只有一级&#xff0c;即只创建一层目…...

Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明

目录 Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改Hi3798MV200 恩兔N2 NS-1 (三): 制作 Ubuntu rootfsHi3798MV200 恩兔N2 NS-1 (四): 制作 Debian rootfs 介绍 恩兔N2是一个家庭存储的系列产品, NS-1 是其中体积…...

redis缓存雪崩和缓存击穿

目录 缓存雪崩 解决方案&#xff1a; 缓存击穿 ​解决方案 缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 解决方案&#xff1a; u 给不同的 Key 的 TTL 添加随机值 u 利用 Redis …...

计算机网络(5) --- http协议

计算机网络&#xff08;4&#xff09; --- 协议定制_哈里沃克的博客-CSDN博客协议定制https://blog.csdn.net/m0_63488627/article/details/132070683?spm1001.2014.3001.5501 目录 1.http协议介绍 1.协议的延申 2.http协议介绍 3.URL 4.urlencode和urldecode 2.HTTP协…...

[MediaForge] 音频技术深度解析(五):常见问题与快速解决

目录 问题排查方法论 音频采集常见问题 音频重采样常见问题 音频编码常见问题 音频封装常见问题 端到端完整流程问题 快速定位工具集 AI 辅助排查指南 1. 问题排查方法论 1.1 通用排查流程 ┌───────────────────────────────────────…...

Linux内核设计哲学:你我承载力的艺术(续)

第七部&#xff1a;设备驱动——与不完美的世界和解7.1 你不是主人&#xff0c;你是仆人设备驱动是内核中最“卑微”的组件。它不和用户直接打交道&#xff0c;不参与核心决策&#xff0c;甚至不拥有任何资源。它只是硬件的翻译官——把内核的标准请求翻译成硬件能懂的指令&…...

AI Agent在数据分析领域应用研究

我个人是从技术做到管理&#xff0c;从实施做到咨询&#xff0c;从售前做到销售&#xff0c;在技术领域来说我最擅长的就是数据技术。在大学时我学过Oracle 6.0&#xff0c;参加工作后又到清华大学参加过Oracle 8i培训&#xff0c;接着又做过Oracle DBA&#xff0c;后来又做数据…...

hello-uniapp图片懒加载实现:优化应用性能与流量的完整指南

hello-uniapp图片懒加载实现&#xff1a;优化应用性能与流量的完整指南 【免费下载链接】hello-uniapp uni-app框架演示示例 项目地址: https://gitcode.com/gh_mirrors/he/hello-uniapp 在移动应用开发中&#xff0c;图片加载是影响性能和用户体验的关键因素。hello-un…...

2025届最火的六大AI科研方案解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能内容生成技术越来越普遍的情形下&#xff0c;各种各样的降AI工具出现了&#xff0…...

2026届最火的五大降AI率网站实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 现当下各种AI检测工具正变得越发普及&#xff0c;要是用户所提交的文本被判定为有着高AI生成…...

2025_NIPS_G1: Teaching LLMs to Reason on Graphs with Reinforcement Learning

文章核心总结与创新点 核心内容 本文针对大型语言模型(LLMs)在图推理任务中表现有限的问题,提出了一种基于强化学习(RL)的方法G1。通过在大规模合成图论任务数据集Erdős上训练,G1显著提升了LLMs的图推理能力,且在未见过的任务、领域和图编码方案中表现出强泛化性,同…...

第三方系统集成若依权限校验

假设系统A是由若依管理系统进行的二次开发&#xff0c;保留了若依的用户、权限、角色管理功能&#xff0c;第三方系统B想要调我们的系统A的接口&#xff0c;就得先集成我们的SDK&#xff0c;这样就可以通过我们系统A的权限、角色校验&#xff0c;从而完成接口调用 一 开发若依S…...

公共部门人力资源管理、公共行政学、公共经济学(自考速记核心概念)

公共部门人力资源管理、公共行政学、公共经济学&#xff08;自考速记核心概念&#xff09; 第一页&#xff08;核心基础规划与获取&#xff09; 一、核心基础概念&#xff08;必背&#xff09; 1.公共部门人力资源管理&#xff1a;公共部门&#xff08;政府、事业单位、非营…...

实战部署JetBrains IDE试用期重置:自动化清理与插件开发全流程

实战部署JetBrains IDE试用期重置&#xff1a;自动化清理与插件开发全流程 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter JetBrains IDE试用期重置工具是一个开源项目&#xff0c;专门用于清除IntelliJ IDEA、Py…...