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

搭建公司内部网站网站优化及推广

搭建公司内部网站,网站优化及推广,石岩网站建设 0755,wordpress底下使用技术:Java SpringBootopenCV 在windows上首先需要下载opencv进行安装,先去官网:Releases - OpenCV 下载这个windows版本的安装包 下载后直接安装解压就行,然后需要,然后找到安装位置里的这个文件: 你下载的是什么版本的,这里的数字就是多少,比如我下载4.5.3版本那么这…使用技术:Java  SpringBootopenCV 在windows上首先需要下载opencv进行安装,先去官网:Releases - OpenCV 下载这个windows版本的安装包 下载后直接安装解压就行,然后需要,然后找到安装位置里的这个文件:  你下载的是什么版本的,这里的数字就是多少,比如我下载4.5.3版本那么这里就是453,下载4.9.0这里就显示490 这个文件是外部库,在使用opencv的时候需要用到这个文件 代码: 图片工具类: import cn.hutool.core.io.IoUtil; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Point; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; import org.springframework.stereotype.Component;import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Base64; import java.util.UUID;/*** 图片工具** author Jerry* date 2024/04/17*/ Component public class PictureUtil {/*** opencv库的dll路径 todo 需要改成自己的*/public static final String dllPath J:/opencv/opencv/build/java/x64/opencv_java453.dll;/*** 保存临时文件的路径*/public static final String savePath D:/pngtemp;/*** png文件后缀*/public static final String pngFileSuffix .png;static {//加载System.load(dllPath);}/*** 通过opencv库获取验证码需要移动的距离 获取横坐标** param bUrlBase64 b 大图片的base64* param sUrlBase64 s 小图片的base64* return double*/public static double getDistanceByBase64ByOpenCv(String bUrlBase64, String sUrlBase64) {// 读取背景图String bFilePath base64ToPNG(bUrlBase64);Mat background Imgcodecs.imread(bFilePath);// 读取滑块图String sFilePath base64ToPNG(sUrlBase64);Mat slider Imgcodecs.imread(sFilePath);// 使用模板匹配来找到滑块在背景图中的位置Mat result new Mat();Imgproc.matchTemplate(background, slider, result, Imgproc.TM_CCOEFF_NORMED);Core.MinMaxLocResult mmr Core.minMaxLoc(result);Point matchLoc mmr.maxLoc;//删除临时文件deleteFile(bFilePath, sFilePath);return matchLoc.x;}/*** 删除文件** param bFilePath b文件路径*/public static void deleteFile(String... bFilePath) {for (String path : bFilePath) {try {new File(path).delete();} catch (Exception ignored) {}}}/*** 将base64转为图片** param base64String base64字符串*/public static String base64ToPNG(String base64String) {//文件名String outputFileName savePath / UUID.randomUUID().toString() pngFileSuffix;ByteArrayInputStream bis null;OutputStream os null;try {// 解码base64数据byte[] decodedBytes Base64.getDecoder().decode(base64String);// 将解码后的数据转换为图像bis new ByteArrayInputStream(decodedBytes);BufferedImage image ImageIO.read(bis);// 将图像保存为PNG文件os new FileOutputStream(outputFileName);ImageIO.write(image, png, os);bis.close();os.close();} catch (Exception e) {e.printStackTrace();} finally {//关闭流IoUtil.close(bis);IoUtil.close(os);}return outputFileName;}/*** 只删开头** param str str* return {link String}*/public static String substringBase64OnlyBegin(String str) {return str.substring(str.indexOf(,) 1);}public static int findSliderPosition(String bUrlBase64, String sUrlBase64) {BufferedImage background base64ToBufferedImage(bUrlBase64);BufferedImage slider base64ToBufferedImage(sUrlBase64);;double minDiff Double.MAX_VALUE;int sliderXCoordinate 0;for (int x 0; x background.getWidth() - slider.getWidth(); x) {double diff 0;for (int i 0; i slider.getWidth(); i) {for (int j 0; j slider.getHeight(); j) {int rgb1 background.getRGB(x i, j);int rgb2 slider.getRGB(i, j);int r1 (rgb1 16) 0xFF;int g1 (rgb1 8) 0xFF;int b1 (rgb1 0xFF);int r2 (rgb2 16) 0xFF;int g2 (rgb2 8) 0xFF;int b2 (rgb2 0xFF);diff Math.pow(r1 - r2, 2) Math.pow(g1 - g2, 2) Math.pow(b1 - b2, 2);}}diff / (slider.getWidth() * slider.getHeight());if (diff minDiff) {minDiff diff;sliderXCoordinate x;}}return sliderXCoordinate;}/*** base64到缓冲图像** param base64str base64str* return {link BufferedImage}*/private static BufferedImage base64ToBufferedImage(String base64str) {try {byte[] imageBytes Base64.getDecoder().decode(base64str);ByteArrayInputStream bis new ByteArrayInputStream(imageBytes);// 读取为BufferedImagereturn ImageIO.read(bis);} catch (Exception e) {System.out.println(转换失败);}return null;} } 测试方法: /*** 测试方法* param args*/public static void main(String[] args) {//大图片的base64String bigbase64 null;//小图片的base64String smallbase64 null;//返回得到的是X轴的距离(我的项目只需要X轴距离) 但是实际上在getDistanceByBase64ByOpenCv这个方法中已经得到了X轴和Y轴的距离double XDistance PictureUtil.getDistanceByBase64ByOpenCv(bigbase64, smallbase64);} pom依赖: dependencygroupIdorg.openpnp/groupIdartifactIdopencv/artifactIdversion4.5.3/version/dependency 这里的pom依赖需要根据你下载的opencv版本进行调整 这个滑块识别的方法比网上的方法好用多了,识别正确率很高,3次之内必正确 如果提示缺jar包,那就需要去这里找对应的jar包引入到项目中: 具体引入方法: 按顺序操作即可引入. 如果还有任何不懂,可在评论区或者私信问我,欢迎各位一起探讨
http://www.zqtcl.cn/news/867884/

相关文章:

  • 网站上动画视频怎么做的建设兵团12师教育局网站
  • 博客网站开发思维导图app网站制作公司
  • 池州网站建设有哪些公司兴义网站seo
  • seo优化网站模板网站建设的七大优缺点
  • 天猫国际采取的跨境电商网络营销方式关键词排名优化公司推荐
  • 亳州建设网站做网站文字怎么围绕图片
  • 网站开发 项目计划外链建设给网站起的作用
  • 你好南京网站网站开发实施步骤和说明
  • 文化共享工程网站建设情况wordpress菠菜插件
  • 网站大气是什么意思哈尔滨做网站电话
  • 公司网站站群是什么化妆品网站设计欣赏
  • 网站公司未来计划ppt怎么做平潭做网站
  • 做网站和推广工资多少招聘网站建设价格
  • 网站建设 响应式 北京网架公司十大排名榜
  • 网站推广目标关键词是什么意思网站推广软件工具
  • 哪里可以做免费的物流网站wordpress为什么放弃
  • 做网站需要多少钱 都包括什么高端大气的网站首页
  • 黄石做网站联系最近的国际新闻
  • 网站建设与运营的预算方案淘宝禁止了网站建设类
  • 做网站的顺序编写app的软件
  • 站长联盟个人网站不备案
  • 惠州建设工程交易网站网站服务器失去响应
  • 网站下拉广告iphone app wordpress
  • 网站图片怎样做seo优化如何重新安装wordpress
  • python做网站源码长沙建设网站制作
  • wordpress调用分类的所有子目录龙岩seo公司首荐3火星
  • 聊城市建设工程质量监督站网站wordpress 头部
  • 低价郑州网站建设wordpress是外网吗
  • 互联网门户网站有哪些win10优化大师是官方的吗
  • 深圳品牌做网站公司有哪些公司名称变更网站要重新备案吗