Just a Computer Graphics Studio & My Life

[OpenCV] 描繪文字

有時候我們想在圖像上打字,這時候就要描繪文字,原來只要一行指令就能做到!

Fang Draw Word.jpg

來試試看函式putText有何效果吧!這裡陸續列印出不同的文字風格,找位置、上顏色、調大小該⋯⋯有的特性都有呢!

/**
 Theme: Draw Word
 IDE: Xcode 7
 Language: C++
 Date: 105/04/12
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"

using namespace cv;

Mat src;

const char* window_name = "Happy Window";

/**
 * @function main
 */

int main(int, char** argv)
{
    /// Load an image
    string fileName = "Fang.jpg";
    src = imread(fileName, CV_LOAD_IMAGE_COLOR);

    if(!src.data)
    { return -1; }

    Scalar c = cv::Scalar(0,200,100);
    putText(src,"COMPLEX" ,      Point(20,40),  FONT_HERSHEY_COMPLEX ,       1,c);
    putText(src,"COMPLEX_SMALL" ,Point(20,80),  FONT_HERSHEY_COMPLEX_SMALL , 1,c);
    putText(src,"DUPLEX"   ,     Point(20,120), FONT_HERSHEY_DUPLEX ,        1,c);
    putText(src,"PLAIN"   ,      Point(20,160), FONT_HERSHEY_PLAIN ,         1,c);
    putText(src,"SCRIPT_COMPLEX",Point(20,200), FONT_HERSHEY_SCRIPT_COMPLEX ,1,c);
    putText(src,"SCRIPT_SIMPLEX",Point(20,240), FONT_HERSHEY_SCRIPT_SIMPLEX ,1,c);
    putText(src,"SIMPLEX" ,      Point(20,280), FONT_HERSHEY_SIMPLEX ,       1,c);
    putText(src,"TRIPLEX" ,      Point(20,320), FONT_HERSHEY_TRIPLEX ,       1,c);
    // 圖片、文字、位置、文字風格、放大倍率、顏色

    /// Create a window
    imshow("Happy Girl", src);

    /// Wait until user exit program by pressing a key
    waitKey(0);

    return 0;
}

之後就拿來顯示各個人臉部位分析的結果吧!

參考:OpenCV overlay string 在圖片上寫字

Advertisements

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: