1. 程式人生 > >opencv之為影象新增邊界

opencv之為影象新增邊界

我們經常會有對影象邊緣做擴充套件的需求.比如

  • 希望卷積後得到的矩陣大小不變
  • 希望改變影象大小,但是不改變寬高比

opencv實現

opencv中使用copyMakeBorder()來完成這一功能
api

  • src是原影象矩陣
  • dst是新影象矩陣
  • top/bottom/left/right是邊界擴充套件的大小(比如5就代表5個畫素)
  • borderType
  • value是擴充的畫素填什麼值

borderType分兩種:

  • BORDER_CONSTANT
    邊緣填充用固定畫素值,比如填充黑邊,就用0,白邊255
  • BORDER_REPLICATE
    用原始影象相應的邊緣的畫素去做填充,看起來有一種把影象邊緣"拉糊了"的效果

opencv示例

import sys
import cv2 as cv

def test():
    src = cv.imread("/home/sc/disk/keepgoing/opencv_test/lights.jpeg") 
    top = int(0.05 * src.shape[0])  # shape[0] = rows
    bottom = top
    left = int(0.04 * src.shape[1])  # shape[1] = cols
    right = left
    
    value = [0,0,0]
    borderType = cv.BORDER_CONSTANT
    dst1 = cv.copyMakeBorder(src, top, bottom, left, right, borderType, None, value)
    
    borderType = cv.BORDER_REPLICATE
    dst2 = cv.copyMakeBorder(src, top, bottom, left, right, borderType, None, value)
    
    cv.imshow("blackborder",dst1)
    cv.imshow("BORDER_REPLICATE",dst2)
    
    if 27 == cv.waitKey():
        cv.destroyAllWindows()
        
test()

效果如下:

相關推薦

opencv影象新增邊界

我們經常會有對影象邊緣做擴充套件的需求.比如 希望卷積後得到的矩陣大小不變 希望改變影象大小,但是不改變寬高比 opencv實現 opencv中使用copyMakeBorder()來完成這一功能 api src是原影象矩陣 dst是新影象矩陣 top/bottom/left/right是邊界擴充套件

OpenCV影象處理--影象新增Logo

1,目的 將logo圖示疊加到一張圖片的右上角,要求有顏色的區域為不透明,例如將阿里影業的Logo疊加到戰狼2的海報上,原始圖和效果圖如下。 2,思路 不同的logo有不同的處理方法,有的是黑色需要透明,有的是白色需要透明,但是,整理的思路

OpenCV處理影象前的基本準備工作

        前面兩個部分分別介紹了在AS上安裝OpenCV的開發環境以及關於OpenCV的基本資訊,本部分就來說一說使用OpenCV處理影象的一些基本準備工作。         我們知道在AS上開發Android

python進階—OpenCV常用影象操作函式說明

文章目錄 cv2.threshold cv2.bitwise_and cv2.bitwise_or cv2.bitwise_not cv2.inRange cv2.resize cv2.adaptiveThreshold cv2

opencvSURF影象匹配

1.概述 前面介紹模板匹配的時候已經提到模板匹配時一種基於灰度的匹配方法,而基於特徵的匹配方法有FAST、SIFT、SURF等,上面兩篇文章已經介紹過使用Surf演算法進行特徵點檢測以及使用暴力匹配(BruteForceMatcher)和最近鄰匹配(FLANN

Android Wear 通知新增動作

為通知新增動作   這裡將會使用三種通知動作: 為通知新增標準動作 為通知新增自定義動作 為通知新增語音動作   說白了就是和我們點選手機上的通知效果一樣。比如點選通知開啟一個介面,開一個服務啥的。基本就是這個功能。 一、為通知新增標準動作   接著上一章

opencv訪問影象畫素

訪問畫素的三種方法 ①指標訪問:最快 ②迭代器iterator:較慢,非常安全,指標訪問可能出現越界問題 ③動態地址計算:更慢,通過at()實現。適用於訪問具體某個第i行,j列的畫素,而不適用遍歷畫素 Mat在記憶體中儲存形式   灰度圖的儲存形式        RGB的儲存形式    一般情況下,Mat

opencv訪問影象畫素的 三種方法

訪問畫素的三種方法 ①指標訪問:最快 ②迭代器iterator:較慢,非常安全,指標訪問可能出現越界問題 ③動態地址計算:更慢,通過at()實現。適用於訪問具體某個第i行,j列的畫素,而不適用遍歷畫素 Mat在記憶體中儲存形式   灰度圖的儲存形式        RGB的儲存形式    一般情況下,M

前端學習邊框新增陰影

box-shadow: h-shadow v-shadow blur spread color inset; 註釋:box-shadow 向框新增一個或多個陰影。該屬性是由逗號分隔的陰影列表,每

學習OPENCV讀取影象和視訊

讀取影象的程式碼: #include <opencv2\opencv.hpp> #include <iostream> #include <string> using namespace cv; using namespace std;

iOS 開發 UIButton新增類別方法載入網路圖片

UIButton+WebCache.h #import <UIKit/UIKit.h> // 為Button新增類別方法 @interface UIButton (WebCache) - (void)xr_setButtonImageWit

Android 開發ActionBar 新增Actionbar Button

前幾天做App 的時候,做的比較倉促,就沒有新增返回按鈕,還有就是MainActivity 的Theme 怎麼傳遞到其他Activity 中,今天無意中看到官方的Train,所以就記下來啦,順便吧ActionBar,Menu 也複習複習; 新增Action Buttons

OpenCVimgproc 模組. 影象處理(5)在影象中尋找輪廓 計算物體的凸包 建立包圍輪廓的矩形和圓形邊界輪廓建立可傾斜的邊界框和橢圓 輪廓矩 多邊形測試

from: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/table_of_content_imgproc/table_of_content_imgproc.html#table-of-content-imgproc

OpenCV例程基本影象讀入與顯示

OpenCV是Intel®開源計算機視覺庫。它由一系列 C 函式和少量 C++ 類構成,實現了影象處理和計算機視覺方面的很多通用演算法。 1.  OpenCV與數字影象 在使用OpenCV做視覺或數字影象預處理時,需要讀入相機採集來的影象或視訊資訊。影象資料的獲取主要有以下

IOS初學-影象檢視新增簡單效果

為影象檢視新增邊框 //建立一個載入有圖片pic3的。圖片檢視         let imageView=UIImageView(image: UIImage(named: "Pic3"));       &nbs

OpenCVbitwise_and、bitwise_not等影象基本運算及掩膜

轉:https://blog.csdn.net/u011028345/article/details/77278467 1.影象基本運算 影象的基本運算有很多種,比如兩幅影象可以相加、相減、相乘、相除、位運算、平方根、對數、絕對值等;影象也可以放大、縮小、旋轉,還可以擷取其中的一部分作為R

0026-用OpenCV的RNG類影象新增高斯噪聲

在OpenCV中,可以用RNG類來產生均勻分佈和正態分佈(高斯分佈)的隨機數。RNG的英文全稱是Random number generator,從名字上大家就可以看出這個類的用途。 我們可以用這個類的成員函式fill來為影象新增高斯噪聲。RNG:fill的原型如下: C++: void RNG::f

在python中使用opencv將RGB影象轉換HSV及YCrCb影象(附程式碼)

【時間】2018.11.01 【題目】在python中使用opencv將RGB影象轉換為HSV及YCrCb影象(附程式碼) 目錄 概述 一、程式碼實現 二、執行結果 三、關於HSV及YCrCb的一點補充 3.1HSV顏色空間 3.2 YCRCBA顏色空間

opencv影象直方圖均衡化cv2.equalizeHist

目錄 一、影象直方圖 二、繪製直方圖 三、直方圖均衡化 四、直方圖均衡化效果展示   一、影象直方圖   影象的構成是有畫素點構成的,每個畫素點的值代表著該點的顏色(灰度圖或者彩色圖)。所謂直方圖就是對影象的中的這些畫素點的值進行統計,得到一個

OpenCV計算機視覺顯示影象

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace std; using