马赫效应和应对方法

简介: [blog]马赫效应和应对方法 //创建并且分析如何处理矩形的MachEffect     Mat srcRect1(500,500,CV_8UC1);     Mat srcRect2(500,500,CV_8UC1);     for (int i=0;i//创建任意情况的MachEffect     Mat srcRnd = imread("macheffect.

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



 



目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
目录
相关文章
|
3月前
|
安全
碳捕捉技术:应对气候变化的创新策略
【9月更文挑战第13天】在全球气候变化背景下,碳捕捉技术(CCT)作为减排关键技术,通过工业排放和能源发电中捕获二氧化碳(CO₂),转化为可储存或利用物质,实现长期隔离,有效减少温室气体排放。技术涵盖捕获、转化与储存阶段,应用于水泥、钢铁生产等多个高排放领域。尽管面临成本、能效及安全挑战,但借助技术创新、政策支持及国际合作,CCT有望克服障碍,成为应对气候变化的重要工具,促进可持续发展目标的实现。
|
2月前
|
存储 安全 网络安全
云计算与网络安全的交织挑战与应对策略
随着云计算技术的广泛应用,网络安全问题日益凸显。本文将探讨云服务、网络安全和信息安全之间的相互影响,分析当前面临的主要技术挑战,并提出有效的应对策略。我们将从云计算的基本概念入手,逐步深入到网络攻击的类型和防护措施,最终探讨如何构建一个安全可靠的云计算环境。
|
3月前
|
存储 安全 网络安全
云计算与网络安全的交织挑战及应对策略
随着科技的飞速发展,云计算已经成为企业运营的重要组成部分。然而,随之而来的网络安全问题也日益凸显。本文从云服务、网络安全以及信息安全等角度出发,探讨了这些领域面临的主要挑战,并提出了相应的应对策略。
153 2
|
2月前
|
算法 5G 调度
毫米波传播特性及其对5G的影响:机遇与挑战
毫米波传播特性及其对5G的影响:机遇与挑战
79 0
|
7月前
|
人工智能 大数据 云计算
拥抱不确定性:在技术迭代中寻找平衡点
【5月更文挑战第28天】 在快速变革的技术世界里,不确定性已成为常态。本文探讨了如何在不断的技术更新与个人技能提升之间找到平衡点。通过分析技术发展的趋势,提出了适应和利用不确定性的策略,并强调了持续学习的重要性。文章旨在为技术人员提供一种心态和方法论,帮助他们在不断变化的环境中保持竞争力。
|
6月前
|
机器学习/深度学习 人工智能 供应链
数字化转型的关键属性:挑战、推动因素和成功因素
数字化转型的关键属性:挑战、推动因素和成功因素
|
7月前
拥抱不确定性:在技术世界中平衡创新与稳定性
【4月更文挑战第8天】 在快速迭代的技术领域,创新与稳定性之间的拉锯战不断上演。本文探讨了如何在追求前沿技术的同时维持系统的稳定性和可靠性。通过分析技术创新的风险与回报,提出一种平衡策略,旨在帮助技术决策者在不断变化的环境中找到合适的发展路径。
81 0
|
7月前
|
机器学习/深度学习 算法 前端开发
瞄准核心因素:Boruta特征选择算法助力精准决策
瞄准核心因素:Boruta特征选择算法助力精准决策
759 0
|
安全
OODA模型:谁能以最快的速度应对变化,谁就能活下来
OODA模型:谁能以最快的速度应对变化,谁就能活下来
156 0
|
存储 缓存 负载均衡
如何应对系统热点的挑战
如何应对系统热点的挑战
156 0