国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        使用 c++ 將圖像轉(zhuǎn)換為 ASCII 藝術(shù)

        什么是 Ascii 藝術(shù)?

        ASCII藝術(shù)是一種圖形設(shè)計技術(shù),使用計算機進行演示,由1963年ASCII標準定義的95個可打印字符(總共128個)和ASCII兼容字符集(超過標準7位ASCII的128個字符)拼湊而成。該術(shù)語也被廣泛用于指代基于文本的視覺藝術(shù)。

        先決條件

        · 安裝和配置OpenCV 庫

        · CMake 已安裝和配置CMake 

        創(chuàng)建CMakeLists.txt

        cmake_minimum_required(VERSION 3.0.0)

        project(image_to_ascii VERSION 0.1.0)

        include(CTest)

        enable_testing()

        find_package(OpenCV REQUIRED)

        include_directories((${OpenCV_INCLUDE_DIRS}))

        add_executable(image_to_ascii main.cpp)

        target_link_libraries(image_to_ascii ${OpenCV_LIBS})

        set(CPACK_PROJECT_NAME ${PROJECT_NAME})

        set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})

        include(CPack)

        創(chuàng)建一個main.cpp,包含所有必要導(dǎo)入的文件

        #include <iostream>

        #include <opencv2/opencv.hpp>

        #include <opencv2/imgproc/imgproc.hpp>

        #include <math.h>

        int main(int, char **)

           return 0;

        使用 opencv 的imread方法讀取圖像,該方法返回一個Mat對象。

        Mat 類表示一個 n 維密集數(shù)值單通道(灰度圖像)或多通道(彩色圖像)數(shù)組

        cv::Mat image = cv::imread("pikachu.jpg");

        將圖像轉(zhuǎn)換為灰度圖像

        彩色圖像到灰度圖像

        cv::Mat grayImage;

        cv::cvtColor(image, grayImage, cv::COLOR_BGR2GRAY);

        聲明并實現(xiàn)獲取灰度圖像像素平方平均值的calculateAvg函數(shù)

        int calculateAvg(cv::Mat image, int row, int col, int scale)

           int sum = 0;

           int pixelCount = 0;

           int r = row, c = col;
           

           while (r <= row + scale && r < image.rows)

           {

               while (c <= col + scale && c < image.cols)

               {

                   sum += (int)image.a(chǎn)t<uchar>(r, c);

                   pixelCount++;

                   c++;

               }

               r++;

           }
           

           return sum / pixelCount;

        聲明 ascii 代表的灰度值

        std::string gscale = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. ";

        在 scale x scale 組中遍歷圖像的像素,并將 scale x scale 像素方形轉(zhuǎn)換為1個ascii字符

        int scale = 4;


        for (int i = 0; i < grayImage.rows; i += scale)

           std::string text = "";
           

           for (int j = 0; j < grayImage.cols; j += scale)

           {

               // gray color in range (0, 255)

               int pixel = calculateAvg(grayImage, i, j, scale);

               // 2 ascii character will match 1 pixel, because 1 ascii character height match 2 ascii character width

               // so 2 ascii character will be a square

               text += gscale[ceil((gscale.length() - 1) * pixel / 255)];

               text += gscale[ceil((gscale.length() - 1) * pixel / 255)];

           }

               std::cout << text << std::endl;

        現(xiàn)在,如果你構(gòu)建 CMake 項目并運行該程序,它應(yīng)該轉(zhuǎn)換你的輸入圖像并在控制臺中打印 ascii 藝術(shù)圖像。

               原文標題 : 使用 c++ 將圖像轉(zhuǎn)換為 ASCII 藝術(shù)

        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

        發(fā)表評論

        0條評論,0人參與

        請輸入評論內(nèi)容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

        暫無評論

        暫無評論

          人工智能 獵頭職位 更多
          掃碼關(guān)注公眾號
          OFweek人工智能網(wǎng)
          獲取更多精彩內(nèi)容
          文章糾錯
          x
          *文字標題:
          *糾錯內(nèi)容:
          聯(lián)系郵箱:
          *驗 證 碼:

          粵公網(wǎng)安備 44030502002758號

          主站蜘蛛池模板: 黄色不卡| 阜阳市| 国产AV第一页| 91成人在线播放| 松下纱荣子被c到高潮下不了床| 色婷婷基地| 临沂市| 大港区| 日日日日日| 影音先锋国产| 中文字幕日韩有码| 欧美成人动态图| 中文字幕亚洲天堂| 国产男人天堂| 国产精品天天搞天天搞| 亚洲1234区| 亚洲av熟女| 91在线影院| 麻豆色漫| 3p视频在线观看| 91在线公开视频| 欧美午夜精品| 潜山县| 日韩码无第15页| 亚州精品熟女在线| h片无码| 上海av电影在线观看| 九九re| 克山县| 无码人妻精品一区二区三区蜜臀百度| 97无码国产精品久久久日本| http://国产熟女.com| 色窝窝一区| 砚山县| 国产熟女一区二区三区五月婷 | 虹口区| 亚洲天堂高清| 99精品在线观看| 欧美607080| 草肥熟老熟妇600部| 久久天天躁狠狠躁夜夜躁2014|