最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV實(shí)現(xiàn)給圖片添加邊框功能

 更新時(shí)間:2018年10月24日 10:54:23   作者:凌風(fēng)探梅  
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)給圖片添加邊框功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

目標(biāo):

基于OpenCV的函數(shù)cv::copyMakeBorder給圖像添加邊框

函數(shù)簡介:

copyMakeBorder( src, dst, top, bottom, left, right, borderType, value );

參數(shù):

src: 原圖像
dst: 目標(biāo)圖像
top, bottom, left, right: 每一個邊界方向上像素的寬度.在這里使用圖像原始大小的 5% .
borderType:邊框的類型 。當(dāng)前例子中位純色或者邊界的復(fù)制.
value: 如果borderType 設(shè)置位 BORDER_CONSTANT, 這個將作為邊框的顏色.

邊框的類型

1)純色邊框

    BORDER_CONSTANT,邊框設(shè)置位某種單一的顏色,比如黑色

2)圖像邊界擴(kuò)展

BORDER_REPLICATE,復(fù)制原圖的邊界進(jìn)行擴(kuò)展

代碼

/**
 * @file copyMakeBorder_demo.cpp
 * @brief Sample code that shows the functionality of copyMakeBorder
 * @author OpenCV team
 */
 
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
 
using namespace cv;
 
//![variables]
Mat src, dst;
int top, bottom, left, right;
int borderType;
const char* window_name = "copyMakeBorder Demo";
RNG rng(12345);
//![variables]
 
/**
 * @function main
 */
int main( int, char** argv )
{
 
 int c;
 
 //![load]
 src = imread( argv[1], IMREAD_COLOR ); // Load an image
 
 if( src.empty() )
 {
  printf(" No data entered, please enter the path to an image file \n");
  return -1;
 }
 //![load]
 
 /// Brief how-to for this program
 printf( "\n \t copyMakeBorder Demo: \n" );
 printf( "\t -------------------- \n" );
 printf( " ** Press 'c' to set the border to a random constant value \n");
 printf( " ** Press 'r' to set the border to be replicated \n");
 printf( " ** Press 'ESC' to exit the program \n");
 
 //![create_window]
 namedWindow( window_name, WINDOW_AUTOSIZE );
 //![create_window]
 
 //![init_arguments]
 /// Initialize arguments for the filter
 top = (int) (0.05*src.rows); bottom = (int) (0.05*src.rows);
 left = (int) (0.05*src.cols); right = (int) (0.05*src.cols);
 //![init_arguments]
 
 dst = src;
 imshow( window_name, dst );
 
 for(;;)
  {
   //![check_keypress]
   c = waitKey(500);
 
   if( (char)c == 27 )
   { break; }
   else if( (char)c == 'c' )
   { borderType = BORDER_CONSTANT; }
   else if( (char)c == 'r' )
   { borderType = BORDER_REPLICATE; }
   //![check_keypress]
 
   //![update_value]
   Scalar value( rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255) );
   //![update_value]
 
   //![copymakeborder]
   copyMakeBorder( src, dst, top, bottom, left, right, borderType, value );
   //![copymakeborder]
 
   //![display]
   imshow( window_name, dst );
   //![display]
  }
 
 return 0;
}

效果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • C++數(shù)組模擬之單鏈表與雙鏈表和棧和隊(duì)列的實(shí)現(xiàn)過程

    C++數(shù)組模擬之單鏈表與雙鏈表和棧和隊(duì)列的實(shí)現(xiàn)過程

    這篇文章主要介紹了C++數(shù)組模擬之單鏈表與雙鏈表和棧和隊(duì)列的實(shí)現(xiàn)過程,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會的,跟隨下文來具體了解吧
    2023-02-02
  • 全面解析C++中的new,operator new與placement new

    全面解析C++中的new,operator new與placement new

    以下是C++中的new,operator new與placement new進(jìn)行了詳細(xì)的說明介紹,需要的朋友可以過來參考下
    2013-09-09
  • C++隱式類型轉(zhuǎn)換運(yùn)算符operator type()用法詳解

    C++隱式類型轉(zhuǎn)換運(yùn)算符operator type()用法詳解

    這篇文章主要介紹了C++隱式類型轉(zhuǎn)換運(yùn)算符operator type()用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • C++17之std::any的具體使用

    C++17之std::any的具體使用

    本文主要介紹了C++17之std::any的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java C++ 算法題解leetcode1608特殊數(shù)組特征值

    Java C++ 算法題解leetcode1608特殊數(shù)組特征值

    這篇文章主要為大家介紹了Java C++ 算法題解拓展leetcode1608特殊數(shù)組特征值實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • C++回溯算法廣度優(yōu)先搜索舉例分析

    C++回溯算法廣度優(yōu)先搜索舉例分析

    回溯在迷宮搜索中使用很常見,就是這條路走不通,然后返回前一個路口,繼續(xù)下一條路?;厮菟惴ㄕf白了就是窮舉法,下面讓我們一起來看看吧
    2022-03-03
  • 深入講解Socket原理

    深入講解Socket原理

    這篇文章深入的講解Socket原理,并附帶實(shí)例代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-12-12
  • C語言實(shí)現(xiàn)簡單圖書管理系統(tǒng)

    C語言實(shí)現(xiàn)簡單圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解C++ 臨時(shí)量與臨時(shí)對象及程序的相關(guān)優(yōu)化

    詳解C++ 臨時(shí)量與臨時(shí)對象及程序的相關(guān)優(yōu)化

    這篇文章主要介紹了C++ 臨時(shí)量與臨時(shí)對象及程序的相關(guān)優(yōu)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • C++中與輸入相關(guān)的istream類成員函數(shù)簡介

    C++中與輸入相關(guān)的istream類成員函數(shù)簡介

    這篇文章主要介紹了C++中與輸入相關(guān)的istream類成員函數(shù)簡介,包括eof函數(shù)和peek函數(shù)以及putback函數(shù)還有ignore函數(shù),需要的朋友可以參考下
    2015-09-09

最新評論

巴楚县| 吴堡县| 全南县| 阳江市| 彭水| 辽中县| 当雄县| 惠水县| 繁峙县| 荆州市| 陆丰市| 体育| 赤峰市| 宜兰市| 贡山| 湛江市| 大荔县| 鸡泽县| 永福县| 古丈县| 惠水县| 定南县| 海阳市| 自贡市| 清远市| 聊城市| 济源市| 五大连池市| 乌兰浩特市| 雅安市| 富蕴县| 文登市| 昆山市| 锡林浩特市| 天门市| 馆陶县| 德州市| 常州市| 根河市| 安图县| 东乡族自治县|