日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

opencv图像边界的填充

發(fā)布時間:2025/4/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 opencv图像边界的填充 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 填充圖像邊界的兩種方法:

  • BORDER_CONSTANT: 使用常數(shù)填充邊界 (i.e. 黑色或者?)
  • BORDER_REPLICATE: 復(fù)制原圖中最臨近的行或者列。
  • 源碼部分給出更加詳細(xì)的解釋。

    源碼

  • 本程序做什么?

    • 裝載圖像

    • 由用戶決定使用哪種填充方式。有兩個選項:

    • 常數(shù)邊界: 所有新增邊界像素使用一個常數(shù),程序每0.5秒會產(chǎn)生一個隨機數(shù)更新該常數(shù)值。
    • 復(fù)制邊界: 復(fù)制原圖像的邊界像素。
    • 用戶可以選擇按 ‘c’ 鍵 (常數(shù)邊界) 或者 ‘r’ 鍵 (復(fù)制邊界)

    • 當(dāng)用戶按 ‘ESC’ 鍵,程序退出。

  • 下面是本教程的源碼, 你也可以從?這里?下載

  • #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include <stdlib.h> #include <stdio.h>using namespace cv;/// 全局變量 Mat src, dst; int top, bottom, left, right; int borderType; Scalar value; char* window_name = "copyMakeBorder Demo"; RNG rng(12345);/** @函數(shù) main */ int main( int argc, char** argv ) {int c;/// 裝載圖像src = imread( argv[1] );if( !src.data ){ return -1;printf(" No data entered, please enter the path to an image file \n");}/// 使用說明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");/// 創(chuàng)建顯示窗口namedWindow( window_name, CV_WINDOW_AUTOSIZE );/// 初始化輸入?yún)?shù)top = (int) (0.05*src.rows); bottom = (int) (0.05*src.rows);left = (int) (0.05*src.cols); right = (int) (0.05*src.cols);dst = src;imshow( window_name, dst );while( true ){c = waitKey(500);if( (char)c == 27 ){ break; }else if( (char)c == 'c' ){ borderType = BORDER_CONSTANT; }else if( (char)c == 'r' ){ borderType = BORDER_REPLICATE; }value = Scalar( rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255) );copyMakeBorder( src, dst, top, bottom, left, right, borderType, value );imshow( window_name, dst );}return 0; }

    解釋

  • 首先申明程序中用到的變量:

    Mat src, dst; int top, bottom, left, right; int borderType; Scalar value; char* window_name = "copyMakeBorder Demo"; RNG rng(12345);

    尤其要注意變量?rng?,這是一個隨機數(shù)生成器, 用來產(chǎn)生隨機邊界色彩。

  • 裝載原圖像?src:

    src = imread( argv[1] );if( !src.data ) { return -1;printf(" No data entered, please enter the path to an image file \n"); }
  • 在簡要說明了程序的使用方法后,創(chuàng)建一個顯示窗口:

    namedWindow( window_name, CV_WINDOW_AUTOSIZE );
  • 初始化邊界寬度參數(shù)(top,?bottom,?left?和?right)。我們將它們設(shè)定為圖像?src?大小的5%。

    top = (int) (0.05*src.rows); bottom = (int) (0.05*src.rows); left = (int) (0.05*src.cols); right = (int) (0.05*src.cols);
  • 程序進(jìn)入?while?循環(huán)。 如果用戶按’c’鍵或者 ‘r’鍵, 變量?borderType?分別取值?BORDER_CONSTANT?或?BORDER_REPLICATE?:

    while( true ){c = waitKey(500);if( (char)c == 27 ){ break; }else if( (char)c == 'c' ){ borderType = BORDER_CONSTANT; }else if( (char)c == 'r' ){ borderType = BORDER_REPLICATE; }
  • 每個循環(huán) (周期 0.5 秒), 變量?value?自動更新...

    value = Scalar( rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255) );

    為一個由?RNG?類型變量?rng?產(chǎn)生的隨機數(shù)。 隨機數(shù)的范圍在??之間。

  • 最后調(diào)用函數(shù)?copyMakeBorder?填充邊界像素:

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

    接受參數(shù):

  • src: 原圖像
  • dst: 目標(biāo)圖像
  • top,?bottom,?left,?right: 各邊界的寬度,此處定義為原圖像尺寸的5%。
  • borderType: 邊界類型,此處可以選擇常數(shù)邊界或者復(fù)制邊界。
  • value: 如果?borderType?類型是?BORDER_CONSTANT, 該值用來填充邊界像素。
  • 顯示輸出圖像

    imshow( window_name, dst );
  • 結(jié)果

  • 在編譯上面的代碼之后, 我們可以運行結(jié)果,將圖片路徑輸入。 結(jié)果應(yīng)該為:

    • 程序啟動時邊界類型為 BORDER_CONSTANT (0), 因此,一開始邊界顏色任意變換。
    • 如果用戶按 ‘r’ 鍵, 邊界將會變成原圖像邊緣的拷貝。
    • 如果用戶按 ‘c’ 鍵, 邊界再次變?yōu)槿我忸伾?/span>
    • 如果用戶按 ‘ESC’ 鍵,程序退出。

    下面顯示了幾張截圖演示了邊界顏色如何改變,以及在邊界類型為?BORDER_REPLICATE?時的情形:

  • 總結(jié)

    以上是生活随笔為你收集整理的opencv图像边界的填充的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产成人在线免费视频 | 婷婷免费| 求av网站 | 精品+无码+在线观看 | 日韩av无码一区二区三区不卡 | 欧美中文一区 | 乱淫的女高中暑假调教h | 亚洲av无码一区二区三区dv | 午夜一二三区 | 黄色电影在线视频 | 午夜99 | 91porny首页入口 | 围产精品久久久久久久 | 日韩国产二区 | 女性爱爱视频 | 成人免费午夜视频 | 成年视频在线 | 俺去俺来也在线www色官网 | 青青草免费公开视频 | 久久中文字幕无码 | 天天综合永久 | 激情福利| 亚洲av永久无码精品国产精品 | 日韩免费在线视频观看 | 精品无码人妻一区二区免费蜜桃 | 九九九精品视频 | 亚洲精品在线免费播放 | 精品伦精品一区二区三区视频密桃 | 欧美日韩精品久久 | 欧美偷拍另类 | 中文字幕一区二区三区久久久 | 91久久国语露脸精品国产高跟 | 东北老女人av | 日韩无码精品一区二区三区 | 国产综合精品 | 99热热99 | 蜜臀av夜夜澡人人爽人人 | 成人午夜av | av天天在线 | 天天躁狠狠躁狠狠躁夜夜躁68 | 日本日韩欧美 | 成人片黄网站色大片免费毛片 | 免费成人深夜在线观看 | 一级黄色录象 | 新香蕉视频 | 国产五月婷婷 | 少妇全黄性生交片 | 污网站在线观看免费 | 亚洲av成人无码久久精品老人 | www.四虎在线 | 日韩欧美网址 | 91精品视频一区 | 噜噜色网 | 9i看片成人免费高清 | 国产精品嫩草影院av蜜臀 | 93久久精品日日躁夜夜躁欧美 | 久青草视频在线 | 精品国产一区三区 | 干老太太视频 | 美女免费福利视频 | 中文字幕欧美专区 | 亚洲精品乱码久久久久久黑人 | 非洲黄色大片 | 亚洲精品一区二区口爆 | 欧美变态绿帽cuckold | 中文字幕第一页亚洲 | 亚洲午夜激情视频 | 成人av专区 | 亚洲无毛 | 久久怡春院| 激情视频网站 | 欧美视频免费看欧美视频 | 激情午夜婷婷 | 人人爱操 | 丰满熟妇人妻中文字幕 | 色女生影院 | 日韩伊人网| 神马午夜51 | 麻豆精品久久 | 黑人多p混交群体交乱 | 国语播放老妇呻吟对白 | 在线视频在线观看 | 色呦呦网站入口 | 久久精品国产一区二区电影 | 欲乱美女| 中文字幕日产乱码中 | 麻豆精品国产 | 国产精品无码一区二区桃花视频 | 久久久久久久久久久99 | 亚洲综合视频在线 | 在线观看自拍 | 椎名由奈av一区二区三区 | 一级黄色免费视频 | 少妇诱惑av | 国产又粗又硬又长又爽的演员 | 在线美女av | 国产盗摄精品一区二区酒店 | 亚洲一二三四五 | 91艹|