当前位置: 首页 > news >正文

亳州做网站哪家好网站开发的现实意义

亳州做网站哪家好,网站开发的现实意义,怎样接做网站和软件的活,wordpress调用微博前言 OpenCV是Open Source Computer Vision library(开源的计算机视觉库)的缩写。它是使用最广泛的计算机视觉库。Opencv是计算机视觉领域常用的操作函数的集合#xff0c;其自身由C/C编写而成#xff0c;同时也提供了对Python、Java以及任意JVM语言的封装。考虑到大部分And…前言 OpenCV是Open Source Computer Vision library(开源的计算机视觉库)的缩写。它是使用最广泛的计算机视觉库。Opencv是计算机视觉领域常用的操作函数的集合其自身由C/C编写而成同时也提供了对Python、Java以及任意JVM语言的封装。考虑到大部分Android应用是用C/Java编写的OpenCV也被移植为供开发者使用的SDK以使他们开发的应用支持机器视觉。 一.Android平台部署OpenCV 1.下载地址 OpenCV - Browse /opencv-android at SourceForge.netOpenCV - Browse /opencv-android/3.4.3 at SourceForge.net 点击opencv-3.4.3-android-sdk.zip下载 2.解压opencv-3.4.3-android-sdk.zip文件 3.创建Android项目命名为FirstOpenCVApp 4.找到opencv解压的文件夹 opencv-3.4.3-android-sdk下的java文件夹下的project.properties文件 例如压缩文件解压到桌面C:\Users\SW\Desktop\opencv-3.4.3-android-sdk\OpenCV-android-sdk\sdk\java\project.properties 利用记事本打开删除两行代码如下所示 删除后如下图所示 由于AndroidStudio版本为4.1不删除无法编译通过。 5.Android项目导入opencv模块 点击File-New-Import Module... 选择Source directory:选择解压之后的目录C:\Users\SW\Desktop\opencv-3.4.3-android-sdk\OpenCV-android-sdk\sdk\java点击OK 等待编辑完成修改模块openCVLibrary343下的清单文件去掉android:minSdkVersion8 删除之后的清单文件如下图所示 修改模块openCVLibrary343下的build.gradle文件如下图所示 以Android项目FirstOneOpencvApp下的src下的build.gradle为参考尽量保持一致 FirstOneOpencvApp下的src下的build.gradle如下图所示 点击同步等待项目同步完成。 点击Android项目FirstOneOpencvApp File-Project Structure app添加Module依赖选择openCVLibrary343 检查Android项目FirstOneOpencvApp下的app下的build.gradle dependencies如下图所示 检查settings.gradle如下图所示 等待项目编译完成 6.Android项目新建HomeActivity File-New-Activity-Empty Activity Activity Name为HomeActivity 布局文件activity_home内容如下图所示 ?xml version1.0 encodingutf-8? androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.HomeActivityButtonapp:layout_constraintLeft_toLeftOfparentapp:layout_constraintBottom_toBottomOfparentandroid:idid/bMeanandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textMean Blur/Button /androidx.constraintlayout.widget.ConstraintLayout HomeActivity内容如下所示 package com.suoer.comeonhealth.firstoneopencvapp;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;public class HomeActivity extends AppCompatActivity {public static final int MEAN_BLUR1;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_home);Button bMeanfindViewById(R.id.bMean);bMean.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {Intent inew Intent(getApplicationContext(),MainActivity.class);i.putExtra(ACTION_MODE,MEAN_BLUR);startActivity(i);}});} } 7.修改MainActivity 布局activity_main内容如下图所示 ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:context.MainActivityImageViewandroid:layout_weight0.5android:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:idid/ivImage/ImageViewImageViewandroid:layout_weight0.5android:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:idid/ivImageProcessed/ImageView/LinearLayout 资源文件下添加菜单 menu_main内容如下图所示 ?xml version1.0 encodingutf-8? menu xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-auto item android:idid/action_load_imageandroid:title加载图片android:orderInCategory1app:showAsActionifRoom/item /menu MainActivity内容如下图所示 package com.suoer.comeonhealth.firstoneopencvapp;import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ImageView;import org.opencv.android.BaseLoaderCallback; import org.opencv.android.OpenCVLoader; import org.opencv.android.Utils; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.Size; import org.opencv.imgproc.Imgproc;import java.io.FileNotFoundException; import java.io.InputStream;import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private final int SELECT_PHOTO1;private ImageView ivImage,ivImageProcessed;Mat src;static int ACTION_MODE0;private BaseLoaderCallback mOpenCVCallBacknew BaseLoaderCallback(this) {Overridepublic void onManagerConnected(int status) {switch (status){case SUCCESS://在这里完成break;default:super.onManagerConnected(status);break;}}};Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ivImagefindViewById(R.id.ivImage);ivImageProcessedfindViewById(R.id.ivImageProcessed);Intent intentgetIntent();if(intent.hasExtra(ACTION_MODE)){ACTION_MODEintent.getIntExtra(ACTION_MODE,0);}}Overrideprotected void onResume() {super.onResume();OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION,this,mOpenCVCallBack);}Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu_main,menu);return true;}Overridepublic boolean onOptionsItemSelected(NonNull MenuItem item) {int iditem.getItemId();if(idR.id.action_load_image){Intent photoPickerIntentnew Intent(Intent.ACTION_PICK);photoPickerIntent.setType(image/*);startActivityForResult(photoPickerIntent,SELECT_PHOTO);return true;}return super.onOptionsItemSelected(item);}Overrideprotected void onActivityResult(int requestCode, int resultCode, Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {case SELECT_PHOTO:if(resultCodeRESULT_OK){try{//以位图载入图像并将其转换为Mat以供处理的代码final Uri imageUridata.getData();final InputStream imageStreamgetContentResolver().openInputStream(imageUri);final Bitmap selectedImage BitmapFactory.decodeStream(imageStream);srcnew Mat(selectedImage.getHeight(),selectedImage.getWidth(), CvType.CV_8UC4);Utils.bitmapToMat(selectedImage,src);switch (ACTION_MODE){case HomeActivity.MEAN_BLUR:Imgproc.blur(src,src,new Size(3,3));break;}//将Mat转换为位图以便在ImageView中显示Bitmap processedImageBitmap.createBitmap(src.cols(),src.rows(),Bitmap.Config.ARGB_8888);Utils.matToBitmap(src,processedImage);ivImage.setImageBitmap(selectedImage);ivImageProcessed.setImageBitmap(processedImage);}catch (FileNotFoundException e){e.printStackTrace();}}break;}}} 8.查看手机设备的cpu架构 AndroidStudio连接手机 运行cmd.exe 输入命令adb shell getprop ro.product.cpu.abi点击回车 arm64-v8a就是连接手机的cpu架构 找到opencv解压文件C:\Users\SW\Desktop\opencv-3.4.3-android-sdk\OpenCV-android-sdk\apk\OpenCV_3.4.3_Manager_3.43_arm64-v8a.apk 在cmd.exe中输入命令adb install C:\Users\SW\Desktop\opencv-3.4.3-android-sdk\OpenCV-android-sdk\apk\OpenCV_3.4.3_Manager_3.43_arm64-v8a.apk 点击回车 手机安装此apk成功。OpenCV Manager安装成功以后运行此项目。FirstOneOpencvApp如果被进程杀掉或此App完全退出需重新运行OpenCV Manager项目否则FirstOneOpencvApp项目无法使用OpenCV提供的函数实现功能。 利用记事本打开C:\Users\SW\Desktop\opencv-3.4.3-android-sdk\OpenCV-android-sdk\apk下的readme.txt查看里面详细内容安装哪一个apk需根据手机的cpu架构来选择安装。 9.Android项目清单 ?xml version1.0 encodingutf-8? manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.suoer.comeonhealth.firstoneopencvappapplicationandroid:allowBackuptrueandroid:iconmipmap/ic_launcherandroid:labelstring/app_nameandroid:roundIconmipmap/ic_launcher_roundandroid:supportsRtltrueandroid:themestyle/Theme.FirstOneOpencvAppactivity android:name.HomeActivityintent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filter/activityactivity android:name.MainActivity/activity/application/manifest 10.运行Android项目至手机 点击MEAN BLUR按钮进入MainActivity界面点击右上角菜单按钮加载图片选择图片界面显示原使图像和均值模糊后的图像。
http://www.zqtcl.cn/news/400937/

相关文章:

  • 创意视觉网站济南网站建设招标
  • 厦门市建设局报表网站南通网站建设计划书
  • 深圳网站建设_模板网站seo
  • 云虚拟主机做网站简单的电商网站开发
  • 注销网站和取消接入深圳建设工程信息价
  • 上海专业网站建设公司站霸网络中国住房和城乡建设部
  • 邯郸做移动网站找谁广西茶叶学会 网站建设
  • 湛江建设网站美乐乐网站首页如何修改
  • 小刘网站建设网络推广和优化是什么意思
  • 特卖网站设计seo优化关键词挖掘
  • 绍兴市交通建设有限公司网站陕西建设分行网站
  • 如何套用别人网站做页面自己创建app
  • 建国内外网站有什么区别永久免费视频会议服务器
  • 个人网站备案成功后怎么做网站开发要学哪些知识
  • 论文写作数据网站餐饮招商
  • 嘉祥网站建设公司小企业网站建设多少钱
  • 做设计.不抠图网站114在线查询电话
  • 上饶网站制作需要多少钱网站百度地图标注
  • 微信网站二次开发广州番禺人才网
  • 支部网站及活动室建设免费建设网站有哪些
  • 深圳福田专业网站推广互联网网站开发有哪些职位
  • 手机网站生成西安北郊做网站
  • 深圳宝安区网站建设南通建设厅网站
  • 介绍做网站的标题在线图片编辑器好用吗
  • 金华建设网站公司笔记本销售网站开发的背景
  • 国外做的好看的网站设计网络营销推广方案怎么做
  • 网站建站业务wordpress网站域名地址
  • 烟台网站制作这做菠菜网站
  • 网站建设vr百度站长
  • 织梦网站广告代码如何写网页设计你若安好便是晴天作业