亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区

常州機(jī)器視覺(jué)培訓(xùn)

常州上位機(jī)軟件開(kāi)發(fā)

常州工業(yè)機(jī)器人編程設(shè)計(jì)培訓(xùn)

常州PLC培訓(xùn)

常州PLC

常州PLC編程培訓(xùn)

常州電工培訓(xùn)

常州和訊plc培訓(xùn)中心歡迎您!
當(dāng)前位置:網(wǎng)站首頁(yè) > 新聞中心 新聞中心
opencv用來(lái)解迷宮-常州上位機(jī)培訓(xùn),常州機(jī)器視覺(jué)培訓(xùn)
日期:2024-4-26 16:47:35人氣:  標(biāo)簽:常州上位機(jī)培訓(xùn) 常州機(jī)器視覺(jué)培訓(xùn)

該腳本僅適用于完美迷宮,即只有一個(gè)唯一解、沒(méi)有分段、沒(méi)有圓形區(qū)域和沒(méi)有開(kāi)放區(qū)域的迷宮。

這些完美的迷宮可以使用在線迷宮生成工具生成。

讓我們以這個(gè)簡(jiǎn)單的迷宮作為測(cè)試圖像:

解決完美迷宮的步驟是:


1. 加載源圖像。

2. 將給定圖像轉(zhuǎn)換為二值圖像。

3.提取輪廓

4 進(jìn)行像素膨脹和腐蝕路徑。

5.從膨脹圖像中減去腐蝕圖像得到最終輸出即迷宮的解。


//Opencv C++ Program to solve mazes using mathematical morphology

#include <opencv2/highgui/highgui.hpp>

#include <opencv2/imgproc/imgproc.hpp>

#include <cmath>

#include <iostream>


using namespace cv;

using namespace std;


int main()

{

    Mat src = imread("C:\\Users\\arjun\\Desktop\\opencv-maze-generator.png");

    if (!src.data) { printf("Error loading src \n"); return -1; }


    //Convert the given image into Binary Image

    Mat bw;

    cvtColor(src, bw, CV_BGR2GRAY);

    threshold(bw, bw, 10, 255, CV_THRESH_BINARY_INV);


    //Detect Contours in an Image

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

    findContours(bw, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);


    if (contours.size() != 2)

    {

        // "Perfect maze" should have 2 walls

        std::cout << "This is not a 'perfect maze' with just 2 walls!" << std::endl;

        return -1;

    }


    Mat path = Mat::zeros(src.size(), CV_8UC1);

    drawContours(path, contours, 0, CV_RGB(255, 255, 255), CV_FILLED);


    //Dilate the Image

    Mat kernel = Mat::ones(21, 21, CV_8UC1);

    dilate(path, path, kernel);


    //Erode the Image

    Mat path_erode;

    erode(path, path_erode, kernel);


    //Subtract Eroded Image from the Dilate One

    absdiff(path, path_erode, path);


    //Draw the Path by Red Color

    vector<Mat> channels;

    split(src, channels);

    channelsimage.png &= ~path;

    channelsimage.png &= ~path;

    channelsimage.png |= path;


    Mat dst;

    merge(channels, dst);

    imshow("solution", dst);

    waitKey(0);


    return 0;

}



1.輸入:

image.png

2.將給定的圖像轉(zhuǎn)換為二進(jìn)制后:

image.png

3.檢測(cè)輪廓后:

image.png

4. 膨脹后:

image.png

5. 應(yīng)用侵蝕后:

image.png

6.從腐蝕中減去膨脹圖像后:

image.png

7. 用紅色追蹤路徑(最終輸出):

image.png

本文網(wǎng)址:
下一篇:沒(méi)有資料

相關(guān)信息:
版權(quán)所有 CopyRight 2006-2017 江蘇和訊自動(dòng)化設(shè)備有限公司 常州自動(dòng)化培訓(xùn)中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務(wù)廣場(chǎng)2號(hào)樓1409室
蘇ICP備14016686號(hào)-2 技術(shù)支持:常州山水網(wǎng)絡(luò)
本站關(guān)鍵詞:常州PLC培訓(xùn) 常州PLC編程培訓(xùn) 常州PLC編程 常州PLC培訓(xùn)班 網(wǎng)站地圖 網(wǎng)站標(biāo)簽
在線與我們?nèi)〉寐?lián)系
亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区