求取圆形区域内的平均灰度值

2023-10-27

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

const int kvalue = 15;//双边滤波邻域大小
const double PI = 3.14;//圆周率

int graylevel(Mat image, Mat dst, Point cen, int r)//求取圆形区域内的平均灰度值
{
	int graysum = 0, n = 0;

	for(int i = (cen.y - r); i <= (cen.y + r); ++i)//访问矩形框内的像素值
	{
		uchar* data = image.ptr<uchar>(i);
		for(int j = (cen.x - r); j <= (cen.x + r); ++j)
		{
			double d = (i-cen.y)*(i-cen.y) + (j-cen.x)*(j-cen.x);
			if(d < r*r)
			{
				++n;
				graysum += (int)data[j];
			}
		}
	}

	for(int i = (cen.y - r); i <= (cen.y + r); ++i)//画出圆,圆内像素值为平均灰度值
	{
		uchar* temp = dst.ptr<uchar>(i);
		for(int j = (cen.x - r); j <= (cen.x + r); ++j)
		{
			double d = (i-cen.y)*(i-cen.y) + (j-cen.x)*(j-cen.x);
			if(d < r*r)
			{
				temp[j] = 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

求取圆形区域内的平均灰度值 的相关文章

  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • OpenCV 3 中的 FLANN 错误

    我运行的是 Ubuntu 14 04 我正在尝试使用 openCV 3 运行 FLANN 但出现错误 下面的所有内容都是通过使用 AKAZE 和 ORB 进行尝试的 但代码来自我尝试使用 ORB 的情况 我使用 ORB 来查找描述符和关键点
  • 当我将鼠标移到 Mat 关键字上时,Visual Studio 2017 冻结(OpenCv 3.4.1)

    我想在 Visual Studio 2017 中开发 openCv 项目 我下载了 opencv 预构建库并进行了必要的设置 那是 1 我添加了系统路径 build x64 vc14 bin 2 在 Visual Studio 中的项目属性
  • 如何在 OpenCV 中从 YUV 文件读取帧?

    如何在 OpenCV 中从 YUV 文件读取帧 我编写了一个非常简单的 python 代码来从二进制文件读取 YUV NV21 流 import cv2 import numpy as np class VideoCaptureYUV de
  • OpenCV C++ 如何知道每行的轮廓数进行排序?

    我有一个二值图像 https i stack imgur com NRLVv jpg在这张图片中 我可以使用重载的函数轻松地对从上到下 从左到右找到的轮廓进行排序std sort 我首先通过以下方式从上到下排序 sort contours
  • 如何确定与视频中物体的距离?

    我有一个从行驶中的车辆前面录制的视频文件 我将使用 OpenCV 进行对象检测和识别 但我停留在一方面 如何确定距已识别物体的距离 我可以知道我当前的速度和现实世界的 GPS 位置 但仅此而已 我无法对我正在跟踪的对象做出任何假设 我计划用
  • Opencv Mat内存管理

    内存管理对于图像类至关重要 在opencv中 图像类是cv Mat 它有一个微妙的内存管理方案 假设我已经有了自己的图像类SelfImage class SelfImage public int width int height unsig
  • 将 4 通道图像转换为 3 通道图像

    我正在使用 OpenCV 2 4 6 我正在尝试将 4 通道 RGB IplImage 转换为 4 通道 HSV 图像 下面是我的代码 给出错误 OpenCV 错误 未知函数断言失败 我认为 cvCvtColor 支持 3 通道图像 有没有
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • OpenCV VideoWriter 未写入 Output.avi

    我正在尝试编写一段简单的代码来获取视频 裁剪视频并写入输出文件 系统设置 OS Windows 10 Conda Environment Python Version 3 7 OpenCV Version 3 4 2 ffmpeg Vers
  • 如何在 cv2.VideoWriter 中使用 FPS 参数?

    好的 所以我正在制作视频 我想确切地知道如何使用 FPS 参数 它是一个浮点数 所以我假设这是我想要的每帧之间的间隔 你能给个例子吗 我只想知道视频会如何随着 FPS 参数值的变化而变化 因为我制作的视频现在太快了 谢谢 确实只是这样 fr
  • 在 Visual Studio C++ 2008 中包含 dll

    有没有办法将 dll 包含在项目中 这样我就不必在编译后将这些 dll 与可执行文件放在同一文件夹中 这样我就可以用它们编译我的项目 这是否有可能 如果是 有人可以指导我 我的项目是一个 opencv 项目 有很多 dll 我必须包含在文件
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • BRISK 特征检测器检测零个关键点

    下面显示的 Brisk 探测器没有给我任何关键点 有人可以提出一个问题吗 我将尝试用一些代码解释我在下面所做的事情 include opencv2 features2d features2d hpp using namespace cv u
  • iphone opencv - 模板匹配

    我已经在我的 iphone 项目中实现了这个 OpenCV 构建 http aptogo co uk 2011 09 opencv framework for ios http aptogo co uk 2011 09 opencv fra
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 开放简历fisherfaces

    我有这个问题 当我使用 vs2010 调试 opencv 2 4 0 facetec demo c 运行时 程序出现此错误 OpenCV错误 未知函数中图像步长错误 矩阵不连续 因此其行数无法更改 文件 src opencv modul e
  • 查找具有不同强度/亮度的相似图像

    假设我有如下图像 我可以选择什么来比较两个图像之间的相似度 显然它们是相同的图像 只是亮度不同 我找不到任何可行的方法 目前我最好的选择是训练 cnn 或自动编码器并比较输出的特征向量 但这似乎有点矫枉过正 任何提示将不胜感激 相当强大的工
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row

随机推荐

  • 存储引擎

    什么是存储引擎 数据库相当于文件夹 表相当于文件 文件有多种不同类型 那么表也应该有不同类型 这句话说得真是太完美了 为什么乔碧萝还不来找我 表类型又称为存储引擎 存储引擎也称为表类型 Oracle和SQL server 等数据库只有一种存
  • 通过分析三篇物联网论文的分析与总结

    Title Abstract The importance of the IoT security research domain lies in its critical role in addressing the security c
  • java 后台 小程序微信支付

    java 后台 小程序微信支付 步骤说明 微信公众平台支付接口调试工具 1 生成字符串 appid appId body 测试商品名称 mch id 商户号 nonce str bf0d5ffe64fc44a3b0c101ead5a6a56
  • ElasticSearch 通用化批量存储封装设计

    ElasticSearch 通用化批量存储封装设计 一 设计需要满足的功能场景 二 约定 三 功能封装 1 枚举 2 定义接口 3 功能实现 一 设计需要满足的功能场景 为了满足在工作中 不用频繁的去写繁琐的 ES 存储的代码 一切都是为了
  • 页面正在加载中 ...

    lt script language JavaScript type text javascript gt var t id setInterval animate 30 var pos 0 var dir 2 var len 0 func
  • (正则)校验 8-16位,必须含有特殊字符、而大写字母、小写字母、数字至少包含其中两项

    function passwordValid str var rule lw a z uw A Z nw 0 9 sw lt gt function reg str patter var reg new RegExp patter if r
  • eclipse:the selection cannot be run on any server解决办法

    我导入一个项目 tomcat是7 0版本的 我的eclipse用的是8 5版本的 改了jar包后还是发现会出现如此错误 the selection cannot be run on any server 后来我就找到我的eclipse项目工
  • SVN分支

    Branch 选项会给开发者创建出另外一条线路 当有人希望开发进程分开成两条不同的线路时 这个选项会非常有用 比如项目 demo 下有两个小组 svn 下有一个 trunk 版 由于客户需求突然变化 导致项目需要做较大改动 此时项目组决定由
  • 【秋招必备】JVM性能调优面试题(2022最新版)

    作为 Java 的从业者 在找工作的时候 一定会被问及关于 JVM 相关的知识 JVM 知识的掌握程度 在很多面试官眼里是候选人技术深度的一个重要评判标准 小编分享的这份Java后端开发面试总结包含了JavaOOP Java集合容器 Jav
  • mybatis plus中编写sql语句

    sql 语句是写在对应的xml文件中 首先要解决maven默认不加载xml文件的问题 1 首先要写入相关配置文件 在pom 导入下面内容
  • 网工学习笔记(四):办公网络布线

    办公网络布线 1 综合布线系统主要由哪几个子系统组成 工作间子系统 水平子系统 设备间子系统 垂直间子系统 管理间子系统 建筑群子系统 2 工作区子系统又称为什么 服务区子系统 3 水平子系统连接哪两个子系统 工作间子系统 管理间子系统 4
  • 通讯录进阶——动态通讯录

    通讯录进阶 动态通讯录 大体思路 改编通讯录的结构体 初始化通讯录的修改 增加函数的修改 退出通讯录函数的实现 代码一览图 Contact c main c Contact h 大体思路 今天我们将来实现一下基于我之前博客里的通讯录的进阶
  • Linux 练习十三 (Linux网络编程epoll + 源码练习)

    文章目录 4 EPOLL多路复用 4 1 epoll介绍 4 2 epoll接口的使用 4 3 示例 使用epoll实现即时聊天 4 4 epoll和select的优缺点 使用环境 Ubuntu18 04 使用工具 VMWare works
  • QT的学习2(2020.06.06)

    QT模块 QT基础 模块主要分为 1 QT COre 提供核心的非 GUI 功能 所有模块都需要这个模块 这个模块的类包括了动画框架 定时器 各个容器类 时间日期类 事件 IO JSON 插件机制 智能指针 图形 矩形 路径等 线程 XML
  • 4-数据结构-线性表-顺序表的查找和修改以及总结

    问题 顺序表的查找以及修改 跟数组一样 直接进行遍历查找 以及直接找到数组中某个值 思路 查找 目的时找到对应值的数组下标 输入所需数组 所需查找的值 对顺序表中数组进行遍历 若找到 则返回下标即可 输入你想删除的值 然后实现删除操作 流程
  • 从键盘任意键入一个正整数x,编程计算x的每一位数字相加之和(使用递归方法)。例如输入123,输出结果:6

    这个题对我这个小白来说还挺难的 僵持了好长时间 才想到这个方法来实现 第一步 当然是要从键盘输入一正整数数据啦 第二步 由于考虑到要一直除10和模10 所以我想到的办法是递归 这就要创建一个自己的函数 说起递归这两个方面超级重要 考虑到这个
  • Centos忘记root密码

    我们在维护Centos系统中 一旦忘记root密码 就无法进入系统 这个时候我们又不希望重新安装系统 因为Centos部署着公司运行的正常的业务程序 可以通过以下步骤重新设置root密码 步骤 1 重启系统 然后再五秒之内按下任意键 进入下
  • python退出命令行

    三种方式 1 exit 回车 2 quit 回车 3 control z 回车 注意上面exit和quit后面都有括号
  • 浅析vue3中的声明响应式数据 ref 和 reactive

    在Vue2中响应式数据是通过defineProperty来实现的 而在Vue3响应式数据是通过ES6的Proxy来实现的 Vue3中实现响应式数据的方法是ref和reactive defineProperty只能单一地监听已有属性的修改或者
  • 求取圆形区域内的平均灰度值

    include