王长金的个人博客 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •     

JNI 调用热敏打印机

环境打印机是美松的热敏打印机,厂商只提供动态库和demo。 win10 1909 + vs2017 java 本地方法参考demo中的代码,写好java接口 package com.cares.msprint; /** * @author wangcj * @desc * @date 2021/4/28 16:21 **/ public class MsPrintSdk { public static native int SetPrintport(String strPort, int iBaudrate); public static native int SetUsbportauto(); public static native int SetInit(); public static native int SetClean(); public static native int SetClose(); public static native int SetAlignment(int iAlign
 2021-05-06   硬件    JNI  热敏打印机 

JCEF 添加MP4等视频的支持

jcef 使用的cef动态库是不支持MP4播放的,只支持完全开源的ogg格式,若要能播放MP4需要对 cef进行重新编译 撰写本文时,jcef最新版本用到的cef版本是88,官网最新的已经到91了,我们只能去编译jcef配套的88版本,以免出现兼容性问题和浪费时间。编译一次cef太费时间。 编译环境1.windows 10 专业版 20H2,I79750H,64GB RAM, 2T NVME SSD 2.ninja 3.cmake 4.visual studio 2019 community 5.300M宽带 6.忍者VPN,class for windows 安装 cft-tap 网卡,将流量全部从此网卡转发,免去配各种代理的麻烦 7.python 2.7+ 以上 ninja、cmake、python 的可执行文件添加到path 开始编译步骤基本参考官网 创建文件夹文件夹的名称不要包含特殊字符和除ASCII字符以外的字符,总体长度不要超过35,所在磁盘空闲空间最好有400GB c:\code\automate c:\code\chromium_git 下载depot_tools ht
 2021-05-01   JCEF    mp4播放支持  cef编译 

通过 Oracle AQ 监控表的变化

之前通过java代码去发送这个变化,这个方案的潜在问题是java代码可能阻塞导致表的数据更新变慢。当然也可以把变化通过 oracle java 代码发送到我们的队列中间件,但是数据库既然有,就用现成的。 获取相关权限grant execute on DBMS_AQ to sia; GRANT EXECUTE ANY PROCEDURE TO sia; GRANT aq_administrator_role TO sia; GRANT aq_user_role TO sia; GRANT EXECUTE ON dbms_aqadm TO sia; GRANT EXECUTE ON dbms_aq TO sia; GRANT EXECUTE ON dbms_aqin TO sia; 创建类型create type acdm_upload_queue_payload_type as object ( msgtype varchar2(20), message varchar2(4000) ); 创建队列表begin dbms_aqadm.create_queue_table( q
 2021-04-29   数据库    oracle aq 

人脸跟踪输出到 html 展示

人脸跟踪回调函数 public int FrameCallBackData(int width, int height, int bytesPerPixel, int stride, byte[] data, String faces) { // 暂无展示需求 opencv_core.IplImage iplImage = cvCreateImageHeader(cvSize(width, height), IPL_DEPTH_8U, 3); BytePointer bytePointer = new BytePointer(data); cvSetData(iplImage, bytePointer, ((width * 3) + 3) >> 2 << 2); // 画人脸框 if (StringUtils.isNotEmpty(faces)) { log.info("faces={}
 2021-04-28   计算机视觉    人脸跟踪  人脸web展示 

FFMPEG 视频格式转换

mp4 to oggffmpeg -i source.mp4 -acodec libvorbis destination.ogg 3gp to aviffmpeg -i source.3gp -f avi -vcodec xvid -acodec mp3 -ar 22050 destination.aviflv to 3gpffmpeg -i source.flv -s 176×144 -vcodec h263 -r 25 -b 200 -ab 64 -acodec mp3 -ac 1 -ar 8000 destination.3gpflv to mp4ffmpeg -i source.flv -vcodec h264 -r 25 -b 200 -ab 128 -acodec mp3 -ac 2 -ar 44100 destination.mp3avi to mp4ffmpeg -i source.avi -f psp -r 29.97 -b 768k -ar 24000 -ab 64k -s 320×240 destination.mp4mp4 to 3gpffmpeg -i sou
 2021-04-27   计算机视觉    FFMPEG  视频格式转换 

JNI 方式调用瑞为人脸识别SDK

环境开发环境win10 64位 + vs2015 + jdk1.8 32位 目标运行环境win7 64位 + jre1.8 32 位 代码实现瑞为SDK接口#ifndef _RECONOVA_FACE_CAMERA_SDK_H_ #define _RECONOVA_FACE_CAMERA_SDK_H_ #ifdef WIN32 #ifdef RECONOVAFACECAMERASDK_EXPORTS #define RECONOVAFACECAMERASDK_API __declspec(dllexport) #else #define RECONOVAFACECAMERASDK_API __declspec(dllimport) #pragma comment(lib, "ReconovaFaceCameraSdk") #endif #else #define RECONOVAFACECAMERASDK_API #endif #ifdef __cplusplus extern "C" { #endif /** * 图片信息
 2021-04-21   硬件    JNI  JNI 调瑞为SDK  JNI 总结 

JCEF请求拦截

前言有的时候需要知道请求的ip地址,但是网路比较复杂,无法获取到。这时可由cef直接告诉后台ip地址 增加请求处理适配CefClient client_ = cefApp.createClient(); client_.addRequestHandler(new RequestHandlerAdapter()); 请求适配器实现public class RequestHandlerAdapter extends CefRequestHandlerAdapter { private String ip; public RequestHandlerAdapter() { InetUtils inetUtils = new InetUtils(new InetUtilsProperties()); ip = inetUtils.findFirstNonLoopbackAddress().getHostAddress(); } @Override public boolean onBefo
 2021-04-19   JCEF    请求拦截处理 

调用云从科技人脸识别SDK抓拍人脸

前言云从科技还不错,基于JNI封装了java sdk 初始化 CloudWalkFaceControl control = CloudWalkFaceControl.getInstance(); int res=-1; res=CloudWalkFaceControl.cwInit(cwModels); if (0 != res) { log.error("cwInit error,code={}",res); } res=CloudWalkFaceControl.cwSetFrameDataCallBack(frameDataCallBack); if (0 != res) { log.error("cwSetFrameDataCallBack error,code={}",res); }
 2021-04-19   硬件    人脸识别 

JNA + JAVACV 调用瑞为摄像头SDK

厂家不提供java sdk,网上基本没啥资料,全靠摸索。使用JNA的Structure去映射数据结构,读取的图像数据处理出错,手动从pointer去读,需要根据提供的头文件截取每个数据项的大小。几乎要放弃去考虑用c++了,最终调用成功,还是要坚持。 环境系统 win7 64瑞为sdk版本 windows 32 瑞为sdk在win10 没有调用成功,在win7下调用成功。但win10 下用c++写的能调用成功,百思不得解,也许是java的局限性。 瑞为接口定义#ifndef _RECONOVA_FACE_CAMERA_SDK_H_ #define _RECONOVA_FACE_CAMERA_SDK_H_ #ifdef WIN32 #ifdef RECONOVAFACECAMERASDK_EXPORTS #define RECONOVAFACECAMERASDK_API __declspec(dllexport) #else #define RECONOVAFACECAMERASDK_API __declspec(dllimport) #pragma comment(lib, &qu
 2021-04-17   硬件    javacv  JNA  摄像头 

SSH 免登录配置并执行命令

SSH 三步解决免密登录1.客户端生成公私钥 2.上传公钥到服务器 3.测试免密登录 1.客户端生成公私钥本地客户端生成公私钥:(一路回车默认即可) ssh-keygen上面这个命令会在用户目录.ssh文件夹下创建公私钥 cd ~/.ssh ls下创建两个密钥: id_rsa (私钥)id_rsa.pub (公钥) 2.上传公钥到服务器这里测试用的服务器地址为:1.1.1.1用户为:root ssh-copy-id -i ~/.ssh/id_rsa.pub root@1.1.1.1上面这条命令是写到服务器上的ssh目录下去了 cd ~/.ssh vim authorized_keys可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。 3.测试免密登录客户端通过ssh连接远程服务器,就可以免密登录了。 ssh root@1.1.1.1应用将开发数据库goc,fids加载到本地 流程1.配置免密登录 2.远程docker 容器 mysql 用mysqldump 导出数据库 goc,fids为sql文件 3.压缩文件(公司网络带宽很低,200k) 4.下载压缩文件 5.解压
 2021-03-29   LINUX    远程脚本执行 
1234…12

搜索

苏ICP备20000570号-1
 总访问量 次   总访客数 人