- 博客(9)
- 收藏
- 关注
原创 最小二乘法拟合圆弧
步骤:(1)分离出目标(如下二值图像中的白色区域);(2)提取目标边缘坐标;(3)查找所要拟合的边缘坐标;(4)最小二乘法拟合圆弧。本文要拟合的边缘如实验图中绿色区域,根据检测出的坐标特点提取出所要拟合的边缘坐标。实验图和结果图如下所示:MATLAB实现:clear; close all; clc;Origin=im2gray(imread('circle.png'));BW=edge(Origin,'canny');[y,x] = find(BW>0);Coordinate=
2022-04-05 18:03:11 4792
原创 最小二乘法拟合矩形边缘
最小二乘法拟合直线步骤:(1)分离出目标(如下二值图像中的黑色区域);(2)提取目标边缘坐标;(3)查找所要拟合的边缘坐标;(4)最小二乘法拟合直线。在本文中使用Zernike矩检测目标的亚边缘坐标。根据MATLAB中坐标数据的特点分离出所需坐标数据,这里以水平边缘坐标的纵坐标离散程度不大为查找的条件提取出水平边缘坐标。实验图和结果图如下所示:MATLAB实现:BW=imread("xx.jpg");Coor=zernike7(BW);%查找水平边缘的坐标delta=2;%控制坐标范
2022-04-05 16:45:16 2553
原创 基于Pseudo Zernike Moment的图像亚边缘检测
原理见文献[1]结果如图MATALB实现clear;clc;close all;I=im2gray(imread('xxx.jpg'));Coor=Pzernike5(I);function coordinate=Pzernike5(I)M00 = [ 0.1600, 0.1600, 0.1600, 0.1600, 0.1600; 0.1600, 0.1600, 0.1600, 0.1600, 0.1600; 0.1600, 0.1600, 0.1600, 0.1600, 0.160
2022-03-09 21:01:04 3246 3
原创 基于Zernike正交矩的图像亚边缘检测
原理见文献[1],代码参考文献[2]。结果如图MATALB实现clear;clc;close all;I=im2gray(imread('xxx.jpg'));Coor=Zernike7(I);function coordinate=Zernike7(I)M00=[ 0 0.0287 0.0686 0.0807 0.0686 0.0287 0 0.0287 0.0815 0.0816 0.0816 0.0816
2022-03-08 09:01:16 4268
原创 Opencv去除高光
借鉴了yuyu[1]的代码,进行补全和小部分修改#include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp>using namespace std;using namespace cv;int main(int argc, char** argv){ Mat src = imread("toys.jpg"); if (src.empty()) { cout << "fa
2021-10-30 20:21:08 4223 16
原创 图像功率谱
功率谱如图:代码:#include<opencv2\core.hpp>#include<opencv2\imgproc.hpp>#include<opencv2\imgcodecs.hpp>#include<opencv2\highgui.hpp>#include<iostream>using namespace cv;using namespace std;void ShiftDFT(Mat img);int mai.
2021-09-10 20:25:27 1033
原创 最小二乘法计算圆度
圆度计算代码:#include <opencv2\opencv.hpp>#include <math.h>using namespace std;using namespace cv;bool verify(vector<Point> input, long min);const int lowThreshold = 0;const int highThreshold = 255;int main(){ Mat src = imread("
2021-09-10 16:50:36 2669
原创 MATLAB 三维坐标绘图
已知XX.txt中保存有如下三维坐标数据:0 0 117.81350 0.002 117.81350 0.004 117.8135…2.639 3.515 117.78812.639 3.518 117.78812.639 3.52 117.7881绘制结果如图:代码如下: clear; clc; close all; data=load('E:\flat.txt'); x=data(:,1); y=data(:,2); z=data(:,3); [xq,yq]=mes
2021-04-22 14:37:16 5753 1
原创 基于opencv计算目标图像的面积
需求:计算目标图像(白色区域)的面积解决思路:二值分割+形态学处理+轮廓提取代码如下:#include <opencv2\opencv.hpp>#include <math.h>using namespace std;using namespace cv;bool verify(vector<Point> input, long min);const int lowThreshold = 0;const int highThreshold = 25.
2021-04-22 10:03:34 5681 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人