matlab strel详解,【2】MATLAB中strel('disk',r)的C實現

article/2025/5/15 11:36:15

strel 是MATLAB中常用的類型,即是structuring element,用來構建結構元素。opencv中與其相似的函數是getStructuringElement()這個函數。

這里僅僅說是相似主要是因為兩者還是有很多區別的。

getStructuringElement()可以獲取常用的結構元素的形狀:矩形(MORPH_RECT)、橢圓(MORPH_ELLIPSE)及十字形(MORPH_CROSS)。

strel 能構建的結構元素更多,但與getStructuringElement()對應的且能直接實現也就只有‘square’/'rectangle'矩形了吧!

列如:

strel('square', 3)

就可以由

Mat ele = getStructuringElement(MORPH_RECT, Size(3, 3));

來實現。

理論上getStructuringElement()在Size(n,n)時構造的應該是個圓,事實上並不是,它依然是個橢圓。所以,getStructuringElement()可能並不能根據需要隨時構造出圓形結構元素。

為了方便調試,我們可能需要通過改變半徑輕松的得到圓形結構元素。算是皇天不負有心人吧

aHR0cDovL3N0YXRpYy5ibG9nLmNzZG4ubmV0L3hoZWRpdG9yL3hoZWRpdG9yX2Vtb3QvZGVmYXVsdC9zdHJ1Z2dsZS5naWY=最終得出了通式,具體怎么推出來就不解釋了,下面是構造任意半徑圓形結構的C代碼。

//matlab strel('disk',Radius)

Mat strelDisk(int Radius)

{

int borderWidth; Mat sel; int m, n;

switch (Radius){

case 1:

case 2:

if (Radius == 1)

borderWidth = 1;

else

borderWidth = 2;

sel=Mat((2 * Radius + 1), (2 * Radius + 1), CV_8U, cv::Scalar(1));

break;//當半徑為1時是3X3的 ,當半徑為2時是5X5的

case 3:

borderWidth = 0;

sel=Mat((2 * Radius - 1), (2 * Radius - 1), CV_8U, cv::Scalar(1));

break;

default:

n = Radius / 7; m = Radius % 7;

if (m == 0 || m >= 4)

borderWidth = 2 * (2 * n + 1);

else

borderWidth = 2 * 2 * n;

sel=Mat((2 * Radius - 1), (2 * Radius - 1), CV_8U, cv::Scalar(1));

break;

}

for (int i = 0; i < borderWidth; i++){

for (int j = 0; j < borderWidth; j++){

if (i + j < borderWidth){

sel.at(i, j) = 0;

sel.at(i, sel.cols - 1 - j) = 0;

sel.at(sel.rows - 1 - i, j) = 0;

sel.at(sel.rows - 1 - i, sel.cols - 1 - j) = 0;

}

}

}

return sel;

}


http://chatgpt.dhexx.cn/article/TKwqnOLh.shtml

相关文章

matlab strel结构元素,【matlab】Strel函数--结构元素

###Date:2018.3.28 =========================================================================== Strel函数 主要用来构建形态学运算中的结构元素,使用的语法为strel(shape,parameters)。shape为形状参数,即设置什么样的结构元素;parameters为控制形状参数大小方向的参数…

Strel函数--结构元素

Strel函数 主要用来构建形态学运算中的结构元素&#xff0c;使用的语法为strel(shape,parameters)。shape为形状参数&#xff0c;即设置什么样的结构元素&#xff1b;parameters为控制形状参数大小方向的参数。 例&#xff1a; 建立一个负向45&#xff0c;长度为6的结构元素…

strel

文章目录 SyntaxDescriptionExamplesAlgorithms 形态结构要素 strel代表平坦的形态构造元素&#xff0c;这是形态扩张和侵蚀操作的重要组成部分。 平面结构元素是二维或二维的二进制值邻域&#xff0c;其中在形态计算中包含真实像素&#xff0c;而不包含错误像素。 结构元素的中…

图像处理函数——strel、roipoly、roifilt2、roifill

文章目录 1.strel2.roipoly3.roifilt24.roifill 1.strel 功能&#xff1a; 形态学结构元素&#xff0c;strel 对象表示一个平面形态学结构元素&#xff0c;该元素是形态学膨胀和腐蚀运算的重要部分。 语法&#xff1a; SE strel(shape, parameters) 创建一个结构元素对象SE。…

nginx日志配置,以及日志轮询

一、为nginx配置错误日志 Nginx错误日志是调试nginx的重要手段&#xff0c;属于核心功能模块的参数&#xff08;ngx_core_module&#xff09;该参数名字为err_log&#xff0c;是放在Main区块中全局配置 err_log的语法格式以及参数语法说明如下 err_log file lev…

nginx配置日志记录问题

去掉nginx.conf文件里面的llog_format main注释并修改为如下 log_format main $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"|&quo…

nginx服务器网站日志,nginx网站日志配置

nginx网站日志配置 [2020-09-10 10:47:43] 简介: 建站服务器 1、日志介绍nginx有两种日志&#xff0c;一种是访问日志&#xff0c;一种是错误日志。访问日志中记录的是客户端对服务器的所有请求。错误日志中记录的 建站服务器 ELK系统在安装完成后需要处理相关的日志文件&…

Linux Nginx日志——Nginx日志配置 access_log error_log rewrite_log 日志轮转

1、Nginx 日志介绍 Nginx 每个级别的配置都可以有独立的访问日志, 所需日志模块 ngx_http_log_module 的支持&#xff0c;日志格式通过 log_format 命令来定义&#xff0c;日志对于统计和排错是有利的。 nginx 日志相关的配置包括 access_log、rewrite_log、error_log# 设置访…

【Nginx 日志配置】【访问日志log_format】【错误日志error_log 指令】【Nginx的日志轮转】

文章目录 Nginx 日志配置log_format 指令中常用的一些变量&#xff1a;访问日志 案例可以配置段&#xff1a;http, stream, server, location作用域。error_log 指令 错误访问日志 级别rewrite_log 指令 用户跳转日志 一般不用配置流量控制相关功能配置日志记录 Nginx 日志配置…

关于nginx日志配置指令介绍

本文主要介绍了nginx日志配置指令详解,nginx有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志,需要的朋友可以参考下 日志对于统计排错来说非常有利的。本文总结了nginx日志相关的配置如access_log、log_format、open_log_file_cache、log_not_found、lo…

宝塔自定义nginx访问日志配置

nginx日志自定义配置 问题 有时nginx默认的日志满足不了需求&#xff0c;比如网站绑定了多个域名&#xff0c;想知道用于访问的是具体域名&#xff0c;这时候就需要自定义nginx日志了。 nginx 中access log 记录了用户访问的页面以及用户浏览器、ip和其他的访问信息 log_for…

Nginx日志配置、错误界面配置、流量控制 第九天

目录 nginx日志配置 nginx日志介绍 access.log error.log open_log_file_cache rewrite.log nginx的日志轮转 nginx错误界面配置 nginx流量控制 nginx如何限流 配置基本限流 nginx流量限制&#xff08;高级&#xff09; 流量控制相关功能 nginx日志配置 nginx日志…

运维配置:Nginx日志配置详解

Nginx日志配置详解 前言 Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种&#xff1a;access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息&#xff0c;请求的处理时间等信息。错误日志记录了访问出错的信息&…

nginx日志[配置解释]

经常使用nginx&#xff0c;但是对nginx中的日志配置了解的不多&#xff0c;最近简单的学习了一下&#xff0c;在此简略的记录下。 nginx基础配置如下&#xff1a; user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/ngi…

后端实践:Nginx日志配置(超详细)

前言 Nginx日志对于统计、系统服务排错很有用。 Nginx日志主要分为两种&#xff1a;access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息&#xff0c;请求的处理时间等信息。错误日志记录了访问出错的信息&#xff0c;可以帮助我…

Linux下玩转nginx系列(三)---nginx日志配置文件说明

nginx日志共三个参数。 access_log: 定义日志的路径及格式。 log_format: 定义日志的模板。 open_log_file_cache: 定义日志文件缓存。 nginx access日志配置 access_log日志配置 access_log用来定义日志级别&#xff0c;日志位置。语法如下&#xff1a; 日志级别&#x…

Linux中级实战专题篇三:nginx服务(日志介绍,作用域,格式定义,流量控制,访问控制模块,用户信任登录)

Nginx 日志配置 1、Nginx 日志介绍 Nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的支持&#xff0c;日志格式通过 log_format 命令来定义&#xff0c;日志对于统计和排错是非常有利的&#xff0c;下面总结…

英媒:知名色情网站约80万名用户账号遭曝光

英媒称&#xff0c;色情网站Brazzers约80万登记用户的资料遭曝光。黑客从与网站有关的论坛中窃取这些数据。 英国广播公司网站9月7日报道&#xff0c;Brazzersforum是给Brazzers用户讨论影片内容和演员的论坛&#xff0c;很多人看来在两个网站上使用相同的登录名称和密码&#…

黑客团体Anonymous宣称已经攻陷40家儿童色情网站

Anonymous从一成立以来就连续攻击企业和联邦政府的网站&#xff0c;他们的大部分攻击行动公然违法&#xff0c;但事实上这一组织向来以自己的价值观行事&#xff0c;例如他们对儿童色情网站深恶痛绝&#xff0c;在攻击上述网站的同时&#xff0c;自愿扮演起正义维护者的角色。 …

一个emoji表情包处理工具类

一个emoji表情包处理工具类 参考业务场景解决方案方案一&#xff08;mysql字符集&#xff09;方案二&#xff08;emoji表情包转码&#xff09; 尊重他人成果、转载请注明出处 参考 https://github.com/vdurmont/emoji-java 业务场景 在常规如APP推送、BBS、论坛等类型的业务系…