什么是高斯金字塔

所谓的高斯金字塔是利用算法将图片放大,如下面的图形:

openCv对应的函数:

src输入图像

dst 目标图像

dstsize 放大尺寸

borderType 边框类型

实例:

     String filename = "D:\\360MoveData\\Users\\lxn\\Desktop\\opencvtest\\1.jpg";Mat src = Imgcodecs.imread(filename);// 加载需要被蒙太奇的图片,原图Mat dst = new Mat();Imgproc.pyrUp(src, dst);HighGui.imshow("原图", src);HighGui.imshow("高斯金字塔",dst);

默认的尺度和边框

src.size().toString():280x186
dst.size().toString():560x372

pyrDown

和pyrUp对应的是pyrDown将图缩小

     String filename = "D:\\360MoveData\\Users\\lxn\\Desktop\\opencvtest\\1.jpg";Mat src = Imgcodecs.imread(filename);// 加载需要被蒙太奇的图片,原图Mat dst = new Mat();Imgproc.pyrDown(src, dst);System.out.println("src.size().toString():"+src.size().toString());System.out.println("dst.size().toString():"+dst.size().toString());HighGui.imshow("原图", src);HighGui.imshow("高斯金字塔",dst);HighGui.waitKey(0);

src.size().toString():280x186
dst.size().toString():140x93

均值漂移

src The source 8-bit, 3-channel image.

dst The destination image of the same format and the same size as the source.

sp The spatial window radius. 空间窗口半径

sr The color window radius. 颜色窗口半径

     String filename = "D:\\360MoveData\\Users\\lxn\\Desktop\\opencvtest\\1.jpg";Mat src = Imgcodecs.imread(filename);// 加载需要被蒙太奇的图片,原图Mat dst = new Mat();Imgproc.pyrUp(src, src);Imgproc.pyrMeanShiftFiltering(src, dst, 10, 20);HighGui.imshow("原图", src);HighGui.imshow("漂移均值图像",dst);HighGui.waitKey(0);

具体的效果:

当ps=10 pr=20的时候,已经能看出区别

当ps=10 pr=60的时候

当ps=60 pr=10时:和原图变化不大

主要是颜色的半径,对整个图影响比较大

角点检测

     String filename = "D:\\360MoveData\\Users\\lxn\\Desktop\\opencvtest\\1.jpg";Mat src = Imgcodecs.imread(filename);// 加载需要被蒙太奇的图片,原图Mat dst = new Mat();Imgproc.pyrUp(src, src);Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY);Mat img=new Mat();Imgproc.preCornerDetect(dst, img,3);    float[] floats = new float[img.cols()];for (int i = 0; i < img.rows() ; i++) {img.get(i,0,floats);for (int j = 0; j < floats.length; j++) {if (floats[j] > 0.0005){//越接近于角点数值越大Imgproc.circle(src,new Point(j,i),1,new Scalar(255,0,255));}}}HighGui.imshow("原图", src);HighGui.waitKey(0);

边缘检测

Imgproc.Canny(image, edges, threshold1, threshold2);

image 输入图像

edges 输出图像

threhold1 第一个阀值

threhold2 第一个阀值

边缘检测代码:

     String filename = "D:\\360MoveData\\Users\\lxn\\Desktop\\opencvtest\\lena.png";Mat src = Imgcodecs.imread(filename);// 加载需要被蒙太奇的图片,原图Mat dst = new Mat();Imgproc.pyrUp(src, src);//灰度化Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY);//高斯滤波Imgproc.GaussianBlur(dst, dst, new Size(3,3), 0.3);Mat edage=new Mat();Imgproc.Canny(dst,edage, 120,90,3);  HighGui.imshow("原图", src);HighGui.imshow("边缘检测并且绘制出边缘", edage);HighGui.waitKey(0);

效果:

threshold1 first threshold for the hysteresis procedure.滞后程序的第一个阀值

threshold2 second threshold for the hysteresis procedure. \(=\sqrt{(dI/dx)^2 + (dI/dy)^2}\) should be used to calculate the image gradient magnitude ( L2gradient=true ), or whether the default \(L_1\) norm \(=|dI/dx|+|dI/dy|\) is enough ( L2gradient=false ). 滞后程序的第二个阀值

Finds edges in an image using the Canny algorithm CITE: Canny86 . The function finds edges in the input image and marks them in the output map edges using the Canny algorithm. The smallest value between threshold1 and threshold2 is used for edge linking. The largest value is used to find initial segments of strong edges.

threshold1和threshold2之间的最小值用于边链接。较大值用于查找强边的初始段

上面是对imgeproc进行图片处理的几个方法,图片的放大放小,角点的检测,和边缘的检测

希望对你有所帮助

java opencv 图片放大缩小,角点检测和边缘检测(14)相关推荐

  1. java实现图片放大缩小:

    也可由用百度api调用,但是收钱:https://ai.baidu.com/ai-doc/IMAGEPROCESS/Fl3sg75nv package leyan.admin.web.controll ...

  2. python opencv图片放大 缩小_Python OpenCV之图片缩放的实现(cv2.resize)

    OpenCV函数原型: cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation) 参数解释: InputArra ...

  3. Android实现图片放大缩小

    蓝蓝的天 蓝蓝的天,白云朵朵. White clouds in the blue sky. 目录视图 摘要视图 订阅 新版极客头条上线,每天一大波干货     任玉刚:Android开发者的职场规划  ...

  4. 图片放大缩小旋转左移右移镜像倒影android

    图片放大缩小旋转左移右移镜像倒影 demo: TestImage 1. 将 meinv.jpg 图片拷贝到以下目录TestImage\app\src\main\res\mipmap-hdpi 1.An ...

  5. OpenCV 图像特征提取——Harris角点检测

    OpenCV 图像特征提取 Harris 角点检测 文章目录 1.什么是角点 2.如何区分角点.边界和平面 3.角点公式推导 4.OpenCV相关函数 5.角点检测程序实现 最后 1.什么是角点    ...

  6. css3 图片放大缩小闪烁效果

    直接把图片替换就可以了,我的图片是透明的,所以body设置为黑色的,不不要可以去掉 <!doctype html> <html lang="en"> < ...

  7. vue项目 一行js代码搞定点击图片放大缩小

    一行js代码搞定xue项目需要点击图片放大缩小,其实主要用的是用到了vue:class的动态切换,内容比较简单.一开始我把维护的需求想得太复杂了,和测试小姐姐聊了一下才反应过来. 两个月不到跟了四个项 ...

  8. cv2.cornerHarris()详解 python+OpenCV 中的 Harris 角点检测

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8763369.html 参考文献----------OpenCV-Python-Toturial ...

  9. Python+OpenCV:图像快速角点检测算法(FAST Algorithm for Corner Detection)

    Python+OpenCV:图像快速角点检测算法(FAST Algorithm for Corner Detection) 理论 Feature Detection using FAST Select ...

最新文章

  1. 如何在 Python 中创建一个简单的神经网络
  2. 使用overlap-add方法计算两个信号的卷积示例(在频域计算卷积)
  3. java 读取远程文件夹_java读取远程共享文件 | 学步园
  4. 破拆机器人_中国首台车载式遥控折叠装卸机器人横空出世
  5. Java中的初始化顺序
  6. 掉网问题的log分析
  7. JObject 用法 、JProperty 用法、JArray 用法 Linq 转 Json
  8. 3d 自动生成物体_CVPR2020论文介绍: 3D 目标检测高效算法
  9. 机器学习——基于OpenCV和Python的智能图像处理(一)
  10. python自动测试方法_python接口自动化测试二十一:类和方法
  11. 模拟电路——阻容耦合放大电路
  12. 连接共享打印机出现0x000000bcb问题的解决方法
  13. 微信记录删了,怎么恢复找回来?5种攻略推荐
  14. android 测光模式,Android摄像头:设置测光点位置
  15. 太湖之光超级计算机应用最高奖,国家超级计算无锡中心发布:“神威·太湖之光”最新应用成果...
  16. 网络攻防技术(2021期末考试)
  17. VIM7.3中文手册
  18. Vivado时序约束之—— set_max_delay、set_min_dealy(最大最小延迟约束)
  19. python之批量下载网页数据
  20. 如何用matlab画负倒函数曲线,负倒描述函数

热门文章

  1. 一、ExtMail Solution概述--EXTMAIL
  2. 滴滴CEO程维:当初把产品拿给美团王兴看,他说了两个字“垃圾”!
  3. 常用正则表达式合集与工具
  4. 十亿级流量下,我与Redis时延小突刺的战斗史
  5. 聊聊未来的程序员该如何选公司和谋规划
  6. 用一个创业故事串起操作系统原理(二)
  7. 记录一次生产环境下的jvm内存泄露问题和分析解决过程!
  8. 华为某员工感慨:岗位太闲想离职,基本不加班!
  9. jquery计算表格列,求和
  10. 五态模型-引起进程状态转换的具体原因