[blog 算法原理]马赫效应和应对方法

[blog]马赫效应和应对方法

//创建并且分析如何处理矩形的MachEffect

Mat srcRect1(500,500,CV_8UC1);

Mat srcRect2(500,500,CV_8UC1);

for (int i=0;i<10;i++)

{

for (int j=0;j<50;j++)

{

srcRect1.row(i*50+j) = i*25;

}

}

imshow("MachEffectRect1",srcRect1);

就是macheffect,它的应对方法就是知道数据产生的结构,然后构建连续梯度

for (int i=0;i<10;i++)

{

for (int j=0;j<50;j++)

{

srcRect2.row(i*50+j) = i*25;

}

}

for (int i=0;i<9;i++)

{

for (int j=0;j<50;j++)

{

srcRect2.row(25+i*50+j) = i*25+j/2;

}

}

imshow("MachEffectRect2",srcRect2);

这里最为困难的,无疑就是“结构的获取”,比如对于这种情况

//创建任意情况的MachEffect

Mat srcRnd = imread("macheffect.bmp");

Mat RncClone = srcRnd.clone();

Mat canny;

blur(RncClone,RncClone,Size(10,10));

Mat srcRnd2 = Mat::zeros(500,500,CV_8UC1);

std::vector<std::vector<cv::Point>>contours;

int imaxSize = -1;int imaxNum = 0;

for (int i=0;i<10;i++)

{

dilate(RncClone,RncClone,Mat(10,10,CV_8UC1));

threshold(RncClone,canny,100,255,THRESH_BINARY_INV);

Canny(canny,canny,0,255);

findContours(canny,contours,CV_RETR_LIST,CV_CHAIN_APPROX_NONE);

for (int n=0;n<contours.size();n++)

{

int itmp = contours[n].size();

if (itmp > imaxSize )

{

imaxSize = contours[n].size();

imaxNum = n;

}

}

drawContours(srcRnd2,contours,imaxNum,Scalar(255-25*i),-1);

imaxNum = 0;

imaxSize = -1;

contours.clear();

imshow("canny",canny);

imshow("Rncclone",RncClone);

imshow("srcRnd",srcRnd);

imshow("srcRnd2",srcRnd2);

//srcRnd2 = Mat::zeros(500,500,CV_8UC1);

waitKey();

}

他还是可以来做的,因为这个结构并不复杂,但是如果对于现实中产生的情况,其结构的获取会比较复杂。但是总的来说,获取结构,构建连续梯度替代直接的跳跃应该是问题的解决方法。

来自为知笔记(Wiz)

时间: 2025-01-31 00:47:25

[blog 算法原理]马赫效应和应对方法的相关文章

[blog 算法原理]如何做出半透明和闪光效果

如何做出半透明和闪光效果 一开始看到这样的效果的时候,我感觉非常酷,等到搞明白原理之后,才发现原来很酷的效果可以通过很简单的代码实现,这就更酷了. 首先,需要获得读取一些图片,最好是自然的图片,带点后现代风格的那种. 像这张,带有一种工厂颓废风格的图片,就很是适合. 然后需要在图像中创建一个矩形. 如果是直接创建的话,那么就应该是这样的效果: Rect rect(0,0,200,400);    rectangle(src,rect,Scalar(0,0,0)); Rect rect(0,0,2

[blog 算法原理]基于clahe的图像去雾

基于clahe的图像去雾 通过阅读一些资料,我了解到clahe算法对图像去雾有所价值,正好opencv中有了实现,拿过来看一看. 但是现在实现的效果还是有所差异 #include "stdafx.h"#include <iostream>#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc

[blog 算法原理]选择轮廓(select_shape)

选择轮廓(select_shape) Halcon是一款运用广泛的图像识别和处理软件.在肤浅的接触中,它的轮廓选择算子(select_shape)给予我很深的印象.结果是往往几行代码就能够产生很好的效果: 比如要得到这样的结果 只需要 read_image (Image1, 'F:/未来项目/钢管识别/FindTube/FindTube/1.jpg')rgb1_to_gray (Image1, GrayImage)threshold (GrayImage, Regions, 43, 111)co

墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律

墨菲定律.二八法则.马太效应.手表定理.“不值得”定律.彼得原理.零和游戏.华盛顿合作规律.酒与污水定律.水桶定律.蘑菇管理原理.钱的问题.奥卡姆剃刀等13条是左右人生的金科玉律 一.墨菲定律 1949年,一位名叫墨菲的空军上尉project师,觉得他的某位同事是个倒霉蛋,不经意间开了句玩笑:“假设一件事情有可能被弄糟,让他去做就一定会弄糟.”这句话迅速流传,并扩散到世界各地.在流传扩散的过程中,这句笑话逐渐失去它原有的局限性,演变成各种各样的形式,当中一个最通行的形式是:“假设坏事情有可能

(转载)墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律

墨菲定律.二八法则.马太效应.手表定理."不值得"定律.彼得原理.零和游戏.华盛顿合作规律.酒与污水定律.水桶定律.蘑菇管理原理.钱的问题.奥卡姆剃刀等13条是左右人生的金科玉律  一.墨菲定律 1949年,一位名叫墨菲的空军上尉工程师,认为他的某位同事是个倒霉蛋,不经意间开了句玩笑:"如果一件事情有可能被弄糟,让他去做就一定会弄糟." 这句话迅速流传,并扩散到世界各地.在流传扩散的过程中,这句笑话逐渐失去它原有的局限性,演变成各种各样的形式,其中一个最通行的形式是

SSH原理与运用(一)和(二):远程登录 RSA算法原理(一)和(二)

SSH原理与运用(一)和(二):远程登录  RSA算法原理(一)和(二) http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html RSA算法原理(一) http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html RSA算法原理(二)

Adaboost算法原理分析和实例+代码(简明易懂)

Adaboost算法原理分析和实例+代码(简明易懂) [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/70995333     本人最初了解AdaBoost算法着实是花了几天时间,才明白他的基本原理.也许是自己能力有限吧,很多资料也是看得懵懵懂懂.网上找了一下关于Adaboost算法原理分析,大都是你复制我,我摘抄你,反正我也搞不清谁是原创.有些资料给出的Adaboost实例,要么是没有代码,要么省略很多步骤,让初学者

分布式memcached学习(四)&mdash;&mdash; 一致性hash算法原理

    分布式一致性hash算法简介 当你看到"分布式一致性hash算法"这个词时,第一时间可能会问,什么是分布式,什么是一致性,hash又是什么.在分析分布式一致性hash算法原理之前,我们先来了解一下这几个概念. 分布式 分布式(distributed)是指在多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务. 以一个航班订票系统为例,这个航班订票系统有航班预定.网上值机.旅客信息管理.订单管理.运价计算等服务模块.现在要以集中式(集群,cluster)和分布

【数据压缩】LZW算法原理与源码解析

转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/50331883 <勿在浮沙筑高台> LZW压缩算法原理非常简单,因而被广泛地采用,已经被引入主流图像文件格式中.该算法由Lempel-Ziv-Welch三人发明,这种技术将定长码字分配给变长信源符号序列,它不需要知道被压缩文件的符号出现概率的先验知识,只需要动态地建立和维护一个字典,和其他压缩算法相比既是缺点也是优点. 1. LZW原理 1.1 概念的理解 LZW通过建立一个