欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android基于opencv實現(xiàn)多通道分離與合并

 更新時間:2021年06月18日 10:36:44   作者:易冬  
針對圖像多通道的分離與混合,OpenCV 4中提供了split()函數(shù)和merge()函數(shù)用于解決這些需求。本文講解一下Android如何調(diào)用這些函數(shù)實現(xiàn)多通道分離與合并

多通道分離

API

public static void split(Mat m, List<Mat> mv)
  • 參數(shù)一:m,待分離的多通道圖像
  • 參數(shù)二:mv,分離后的單通道圖像

操作

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    mBinding = DataBindingUtil.setContentView(this, R.layout.activity_channel_split_merge)
    mBgr = Utils.loadResource(this, R.drawable.test)
    val imgList = mutableListOf<Mat>()
    Core.split(mBgr, imgList)
    mChannelB = imgList[0]
    mChannelG = imgList[1]
    mChannelR = imgList[2]
}

通道合并

API

public static void merge(List<Mat> mv, Mat dst)
  • 參數(shù)一:mv,需要合并的圖像數(shù)組,其中每個圖像必須擁有相同的尺寸和數(shù)據(jù)類型
  • 參數(shù)二:dst,合并后輸出的圖像,與mv[0]具有相同的尺寸和數(shù)據(jù)類型,通道數(shù)等于所有輸入圖像的通道數(shù)總和

操作

private fun showBGZero() {
    val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
    val list = mutableListOf<Mat>()
    list.add(zero)
    list.add(zero)
    list.add(mChannelR)
    val result = Mat()
    Core.merge(list, result)
    showMat(result)
    result.release()
}

private fun showBRZero() {
    val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
    val list = mutableListOf<Mat>()
    list.add(zero)
    list.add(mChannelG)
    list.add(zero)
    val result = Mat()
    Core.merge(list, result)
    showMat(result)
    result.release()
}

private fun showGRZero() {
    val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
    val list = mutableListOf<Mat>()
    list.add(mChannelB)
    list.add(zero)
    list.add(zero)
    val result = Mat()
    Core.merge(list, result)
    showMat(result)
    result.release()
}

private fun showSwitchBR() {
    val zero = Mat.zeros(mBgr.rows(), mBgr.cols(), CvType.CV_8UC1)
    val list = mutableListOf<Mat>()
    list.add(mChannelR)
    list.add(mChannelG)
    list.add(mChannelB)
    val result = Mat()
    Core.merge(list, result)
    showMat(result)
    result.release()
}

結(jié)果

源碼

github.com/onlyloveyd/…

以上就是Android基于opencv實現(xiàn)多通道分離與合并的詳細(xì)內(nèi)容,更多關(guān)于Android opencv實現(xiàn)多通道分離與合并的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android高仿京東垂直循環(huán)滾動新聞欄

    Android高仿京東垂直循環(huán)滾動新聞欄

    通過自定義的LinearLayout,并且textView能夠循環(huán)垂直滾動,而且條目可以點擊,顯示區(qū)域最多顯示2個條目,并且還有交替的屬性垂直移動的動畫效果,通過線程來控制滾動的實現(xiàn)
    2016-03-03
  • Android中使用PULL方式解析XML文件深入介紹

    Android中使用PULL方式解析XML文件深入介紹

    本文將詳細(xì)介紹Android如何使用PULL方式解析XML文件,在開發(fā)過程中會經(jīng)常使用到,有需要的朋友可以參考下
    2012-12-12
  • android之App Widget開發(fā)實例代碼解析

    android之App Widget開發(fā)實例代碼解析

    本篇文章主要介紹了App Widget框架的實例應(yīng)用,AppWidget就是我們平常在桌面上見到的那種一個個的小窗口,利用這個小窗口可以給用戶提供一些方便快捷的操作。有需要的可以了解一下。
    2016-11-11
  • Android SwipereFreshLayout下拉刷新

    Android SwipereFreshLayout下拉刷新

    這篇文章主要介紹了Android SwipereFreshLayout下拉刷新的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Android中將View的內(nèi)容保存為圖像的簡單實例

    Android中將View的內(nèi)容保存為圖像的簡單實例

    這篇文章主要介紹了Android中將View的內(nèi)容保存為圖像的簡單實例,有需要的朋友可以參考一下
    2014-01-01
  • Material Design系列之Behavior上滑顯示返回頂部按鈕

    Material Design系列之Behavior上滑顯示返回頂部按鈕

    這篇文章主要為大家詳細(xì)介紹了Material Design系列之Behavior上滑顯示返回頂部按鈕的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android仿淘寶訂單頁面效果

    Android仿淘寶訂單頁面效果

    這篇文章主要介紹了Android仿淘寶訂單頁面效果,電商項目的訂單管理模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android中的Retrofit+OkHttp+RxJava緩存架構(gòu)使用

    Android中的Retrofit+OkHttp+RxJava緩存架構(gòu)使用

    Retrofit和OkHttp API以及JVM擴(kuò)展RxJava都是開源項目,大家可以輕松在GitHub上找到,下載和基本配置部分這里我們不作重點,主要還是來看一下Android中的Retrofit+OkHttp+RxJava緩存架構(gòu)使用:
    2016-06-06
  • Android實現(xiàn)圖片滾動效果

    Android實現(xiàn)圖片滾動效果

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)圖片滾動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Android 使用selector改變按鈕狀態(tài)實例詳解

    Android 使用selector改變按鈕狀態(tài)實例詳解

    這篇文章主要介紹了Android 使用selector改變按鈕狀態(tài)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01

最新評論