Android+OpenCV 合并图片 灰度化 二值化 自适应二值化 写一行字 画一条线

本文主要是介绍Android+OpenCV 合并图片 灰度化 二值化 自适应二值化 写一行字 画一条线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在学习OpenCV+Android图像识别课程,跟着B站课程做了一个Demo.记录下来,这个Demo的主要功能是针对如下图所示的图形信息来进行合并图片 灰度化 二值化 自适应二值化 写一行字 画一条线    效果图如下  其中 自适应二值化的效果图为小图 其余5种效果对应手机app里展示的

 

 

1.合并两张图

 btn.setOnClickListener(v -> {Core.bitwise_and(srcMat1,srcMat2,dstMat);bitmap = Bitmap.createBitmap(dstMat.width(),dstMat.height(), Bitmap.Config.ARGB_8888);Utils.matToBitmap(dstMat,bitmap);iv3.setImageBitmap(bitmap);});

2.灰度化

  btnhd.setOnClickListener(v->{Imgproc.cvtColor(srcMat1,dstMat,Imgproc.COLOR_BGR2GRAY); //先转化为灰度图bitmap = Bitmap.createBitmap(dstMat.width(),dstMat.height(), Bitmap.Config.ARGB_8888);//创建bitmapUtils.matToBitmap(dstMat,bitmap);//转化为bitmapiv1.setImageBitmap(bitmap);});

3.二值化

 btn2.setOnClickListener(v->{Imgproc.cvtColor(srcMat2,dstMat2,Imgproc.COLOR_BGR2GRAY); //先转化为灰度图Imgproc.threshold(dstMat2,dstMat2,125,255,Imgproc.THRESH_BINARY_INV);bitmap2 = Bitmap.createBitmap(dstMat2.width(),dstMat2.height(), Bitmap.Config.ARGB_8888);//创建bitmapUtils.matToBitmap(dstMat2,bitmap2);//转化为bitmapiv2.setImageBitmap(bitmap2);});

4.自动二值化

 btn2auto.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Imgproc.cvtColor(srcMat2,dstMat2,Imgproc.COLOR_BGR2GRAY); //先转化为灰度图Imgproc.adaptiveThreshold(dstMat2,dstMat2,255,Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,Imgproc.THRESH_BINARY_INV,13,5);//自适应二值化函数 会有精细的素描效果bitmap2 = Bitmap.createBitmap(dstMat2.width(),dstMat2.height(), Bitmap.Config.ARGB_8888);//创建bitmapUtils.matToBitmap(dstMat2,bitmap2);//转化为bitmapiv4.setImageBitmap(bitmap2);}});

5.写一行字

 btnZ.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//Imgproc.cvtColor(srcMat3,dstMat2,Imgproc.COLOR_BGR2GRAY); //先转化为灰度图Imgproc.putText(srcMat3,"zhang zhi ming",new Point(srcMat3.height()/10,srcMat3.width()/3),2,2,new Scalar(255,0,0),5);bitmap2 = Bitmap.createBitmap(srcMat3.width(),srcMat3.height(), Bitmap.Config.ARGB_8888);//创建bitmapUtils.matToBitmap(srcMat3,bitmap2);//转化为bitmapiv4.setImageBitmap(bitmap2);}});

6.画一条线

  btnline.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//Imgproc.cvtColor(srcMat2,dstMat2,Imgproc.COLOR_BGR2GRAY); //先转化为灰度图Imgproc.line(srcMatest,new Point(0,srcMatest.width()),new Point(srcMatest.height(),0), new Scalar(0,0,255),5);bitmapTest = Bitmap.createBitmap(srcMatest.width(),srcMatest.height(), Bitmap.Config.ARGB_8888);//创建bitmap// Imgproc.cvtColor(srcMat2,srcMat2,Imgproc.COLOR_BGR2RGB);Utils.matToBitmap(srcMatest,bitmapTest);//转化为bitmapiv5.setImageBitmap(bitmapTest);}});

这篇关于Android+OpenCV 合并图片 灰度化 二值化 自适应二值化 写一行字 画一条线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873301

相关文章

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

Python视频剪辑合并操作的实现示例

《Python视频剪辑合并操作的实现示例》很多人在创作视频时都需要进行剪辑,本文主要介绍了Python视频剪辑合并操作的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录介绍安装FFmpegWindowsMACOS安装MoviePy剪切视频合并视频转换视频结论介绍

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心