| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Android App开发超实用实例 | OpenCV在Android手机实现在图像上添加文本 -> 正文阅读 |
|
[人工智能]Android App开发超实用实例 | OpenCV在Android手机实现在图像上添加文本 |
01、实例功能此实例主要通过使用Imgproc的putText()方法,实现在图像上绘制(添加)文本。Imgproc是Image和Processing这两个单词的缩写组合,它是OpenCV的图像处理模块,该模块包含如下内容:线性和非线性的图像滤波、图像的几何变换、图像转换、直方图相关、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测等。 当实例运行之后,单击“显示原始图像”按钮,原始图像的效果如图1(a)所示。单击“在图像上添加文本”按钮,在图像上添加文本(OpenCV)之后的效果如图1(b)所示。 ? 02、实现代码
03、代码说明上面这段代码在MyCode\MySampleK31\app\src\main\java\com\bin\luo\mysample\ MainActivity.java文件中。在这段代码中,Imgproc的putText()方法用于在图像上添加文字(字母),该方法的语法声明如下: 其中,参数Mat img表示待绘制的图像;参数String text表示待绘制的文字;参数Point org表示文字的起点坐标;参数int fontFace表示字体;参数double fontScale表示文字大小因子,值越大文字越大;参数Scalar color表示文字颜色;参数int thickness表示文字线条宽度。 Utils.bitmapToMat(myBitmap,myMat)用于将Bitmap输出到Mat,该方法的语法声明如下:? 其中,参数Bitmap bmp表示源Bitmap,支持ARGB_8888和RGB_565像素类型;参数Mat mat表示目标Mat,默认类型是CV_8UC4类型,大小和Bitmap一样,通道顺序为RGBA。 Utils.matToBitmap(myMat,myNewBitmap)用于将Mat输出到Bitmap,该方法的语法声明如下:? 其中,参数Mat mat表示源Mat,支持CV_8UC1,CV_8UC3或CV_8UC4类型;参数Bitmap bmp表示目标Bitmap,支持ARGB_8888或RGB_565类型。 static{ System.loadLibrary("opencv_java3");}表示加载OpenCV库。默认情况下,在Android中使用OpenCV需要导入相关的库文件,具体操作步骤如下。? (1) 从https://opencv.org/releases.html页面中单击Android pack超链接,稍等一会儿即可弹出“新建下载任务”对话框,然后在该对话框中单击“下载”按钮,执行下载操作,如图2所示。在下载完成之后解压文件即可。在此实例中,可以忽略此步骤,直接从源代码中复制openCVLibrary345Copy文件夹到项目即可。 ? (2) 在Android Studio菜单上依次选择File\New\Import Module...,弹出Import Module from Source对话框。在该对话框中单击“Source directory:”右端的文件夹按钮,然后选择openCVLibrary345Copy文件夹,会出现错误(重复)提示。直接在“Module name:”输入框中将openCVLibrary345Copy修改为openCVLibrary345,错误提示消失,如图3所示。再单击Finish按钮即可。 ?(3) 按照如下粗体字所示修改MyCode\MySampleK31\app\build.gradle文件。完成之后同步(Sync Now)即可。
?(4) 复制MyCode\MySampleK31\app\libs文件夹下的所有内容到(用户的)项目中即可。该文件夹及其子文件夹的文件与手机CPU的类型有关,缺少这些文件在编译或运行时会报错或无响应。 特别说明?/
04、补充说明在测试代码时,必须保持网络畅通。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:27:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |