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

Android基于OpenCV實(shí)現(xiàn)圖像脫色

 更新時(shí)間:2021年06月19日 10:32:00   作者:易冬  
脫色是將彩色圖像轉(zhuǎn)換為灰度圖像的過程。同時(shí),它也是數(shù)字打印,風(fēng)格化的黑白照片渲染以及許多單通道圖像處理應(yīng)用程序中的基本工具。本文講述基于OpenCV實(shí)現(xiàn)圖像脫色的步驟

脫色

Imgproc.cvtColor(rgb, gray, Imgproc.COLOR_RGB2GRAY)可以快速的實(shí)現(xiàn)圖片脫色,其通過簡單的計(jì)算將三通道圖像轉(zhuǎn)換成單通道圖像,經(jīng)典的灰度轉(zhuǎn)換公式如下:

但是轉(zhuǎn)換過的圖像存在對比度丟失,無法區(qū)分顏色的問題。OpenCV給我們提供另外一種脫色方法Photo.decolor,旨在最大限度的保留圖片對比度。

原理

論文詳情:www.cse.cuhk.edu.hk/~leojia/pro

論文PDF:www.computer.org/csdl/pds/ap

相比于簡單的使用R/G/B線性組合,作者構(gòu)造了更為復(fù)雜的多項(xiàng)式擬合,向量空間的基底為:[r,g,b,rg,rb,gb,r2,g2,b2],核心就是求取灰度化函數(shù):

API

public static void decolor(Mat src, Mat grayscale, Mat color_boost) 
  • 參數(shù)一:src,輸入8位三通道圖像。
  • 參數(shù)二:grayscale,輸出8位單通道灰度圖。
  • 參數(shù)三:color_boost,輸出8位三通道圖像。對比度增強(qiáng)后的圖像。

操作

/**
 * 脫色
 * author: yidong
 * 2020/12/5
 */
class DecolorActivity : AppCompatActivity() {

    private val mBinding: ActivityDecolorBinding by lazy {
        ActivityDecolorBinding.inflate(layoutInflater)
    }

    private val mList = mutableListOf<ImageTextObject>()
    private lateinit var mAdapter: ImageTextAdapter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(mBinding.root)
        mAdapter = ImageTextAdapter(this, mList)
        mBinding.container.adapter = mAdapter
        val bgr = Utils.loadResource(this, R.drawable.ceil)
        val rgb = Mat()
        Imgproc.cvtColor(bgr, rgb, Imgproc.COLOR_BGR2RGB)
        val gray = Mat()
        val dst = Mat()
        val boost = Mat()
        mBinding.isLoading = true
        GlobalScope.launch(Dispatchers.IO) {
            Imgproc.cvtColor(rgb, gray, Imgproc.COLOR_RGB2GRAY)
            Photo.decolor(rgb, dst, boost)
            launch(Dispatchers.Main) {
                mList.add(ImageTextObject(rgb, "原圖"))
                mList.add(ImageTextObject(gray, "RGB2GRAY"))
                mList.add(ImageTextObject(dst, "DeColor"))
                mList.add(ImageTextObject(boost, "ColorBoosting"))
                mAdapter.notifyItemRangeInserted(0, 4)
                mBinding.isLoading = false
            }
        }
    }
}

效果

分別采用decolor和RGB2GRAY實(shí)現(xiàn)的脫色效果圖,在對比度和顏色保留上效果相差很大。

源碼

github.com/onlyloveyd/…

以上就是Android基于OpenCV實(shí)現(xiàn)圖像脫色的詳細(xì)內(nèi)容,更多關(guān)于Android OpenCV圖像脫色的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

东乡县| 永胜县| 武陟县| 七台河市| 闻喜县| 油尖旺区| 昌邑市| 阳原县| 万源市| 龙山县| 酒泉市| 霍林郭勒市| 靖宇县| 苏尼特左旗| 石楼县| 防城港市| 玉龙| 九龙坡区| 平果县| 三台县| 岑溪市| 海阳市| 康保县| 神木县| 肇源县| 长葛市| 梁平县| 若尔盖县| 新乐市| 合肥市| 武胜县| 汉源县| 买车| 同仁县| 西乡县| 马山县| 汝城县| 肥东县| 南皮县| 梅州市| 五家渠市|