ui展示 网站,有没有做策划案例的网站,怎么开一个属于自己的网店,如何在自己的服务器上做网站一.背景 公司是非煤采矿业#xff0c;核心业务是采选#xff0c;大型设备多#xff0c;安全风险因素多。当下政府重视安全#xff0c;头部技术企业的安全解决方案先进但价格不低#xff0c;作为民营企业对安全投入的成本很敏感。利用我本身所学#xff0c;准备搭建公司的…一.背景 公司是非煤采矿业核心业务是采选大型设备多安全风险因素多。当下政府重视安全头部技术企业的安全解决方案先进但价格不低作为民营企业对安全投入的成本很敏感。利用我本身所学准备搭建公司的安全管理技术平台从视觉、传感等多方面配合逐步将公司的生产安全管理技术平台搭建起来。也许在不久的未来公司各层级都看到了技术的价值会逐步过渡到一线品牌的安全产品上来逐步推动生产安全技术在公司的应用。 本文是安全帽的第二篇用java简单调用OpenCV自带的面部检测器找到面部图片区域了解整体java调用OpenCV的过程。 本文建立在第一篇上面请先阅读第一篇。工业生产安全-安全帽第一篇-opencv及java开发环境搭建-CSDN博客
二.思路分析 我之前有一些目标检测、图像算法大学时全专业图形学数一数二不过和专业的比起来是菜鸟哈的粗浅经验。这里就先说说程序执行的思路。其实很简单就是图片准备》检测器准备》执行检测器》拿结果后处理。 图片准备准确说是输入准备一般都是图片看具体的场景嘛有的会处理成灰度图片或者二值化具体的就看检测器的要求。 检测器准备形态说就是一个文件一般是xml文件。这个文件从哪里来呢这个就是我们平时说的模型训练的产物。不管是大模型、小模型简单来说就是一堆数据图片、文字、语音、文档等丢进去让训练器运行得到一个结果文件。这个训练器的核心算法就决定了产物的水平反正我个人不相信它们有智慧我个人认为今天的人工智能发展虽然取得了很多成绩但是与真正的智慧还有很远。当然这并不影响我们使用它来解决一些问题。扯远了拉回来。简单理解检测器就是模型训练出来的产物可以说是一个规则集用来判断目标是否符合规则集符合就找到了目标。 执行检测器这个就是一个语句没有啥特别说的。 结果后处理一般来说图片这种结果目标检测是给你一堆像素点你自己想改个颜色、加个框框、涂个蒙版都可以反正表示你检测到了结果嘛
三.上代码
package com.scantt.opencv.demos.eyes;import java.net.URL;import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;public class FaceDetection {static {String path1 ClassLoader.getSystemResource(Core.NATIVE_LIBRARY_NAME .dll).getPath();if (path1.startsWith(/)) {path1 path1.substring(1);// windows系统有毒...jar包不认识 /开头这样的形式,如/c:/xx}System.load(path1);}public static void main(String[] args) {// 读取图像URL url ClassLoader.getSystemResource(eyes/dongfang.jpg);String path url.getPath();if (path.startsWith(/)) {path path.substring(1);// windows系统有毒...jar包不认识 /开头这样的形式,如/c:/xx}Mat image Imgcodecs.imread(path);// 转换为灰度图像Mat gray new Mat();Imgproc.cvtColor(image, gray, Imgproc.COLOR_BGR2GRAY);// 加载面部检测器URL url2 ClassLoader.getSystemResource(eyes/haarcascade_frontalface_default.xml);String path2 url2.getPath();if (path2.startsWith(/)) {path2 path2.substring(1);// windows系统有毒...jar包不认识 /开头这样的形式,如/c:/xx}CascadeClassifier faceDetector new CascadeClassifier(path2);// 检测面部MatOfRect faceDetections new MatOfRect();faceDetector.detectMultiScale(gray, faceDetections);// 遍历每个检测到的面部for (Rect rect : faceDetections.toArray()) {// 面部画个框
// Imgproc.rectangle(image, rect, new Scalar(255, 0, 0), 2);// 面部画个圆Imgproc.circle(image, new Point(rect.x rect.width / 2, rect.y rect.height / 2), rect.width / 2,new Scalar(255, 0, 0));}// 显示结果HighGui.imshow(Eye Detection, image);HighGui.waitKey(0);}
}图片dongfang.jpg你随便找个包含人头像的我是放到src/main/resources/eyes目录下的哦。
检测器文件haarcascade_frontalface_default.xml, 去OpenCV安装目录去找opencv\build\etc\haarcascades我还是放到src/main/resources/eyes目录下的哦。 我的检测结果是 四.后面干什么 知道怎么调用检测器了当然就是去找一个或者做一个安全帽的检测咯先拿个别人的试试吧