java – OpenCV中的Gabor内核参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – OpenCV中的Gabor内核参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1995字,纯文字阅读大概需要3分钟。
内容图文
![java – OpenCV中的Gabor内核参数](/upload/InfoBanner/zyjiaocheng/745/38d6e1af38484f0c987c2bcad7b4255e.jpg)
我必须在我的应用程序中使用Gabor过滤器,但我对这个OpenCV方法参数值没有任何线索.
我想编码一个虹膜.开始Gabor滤波器并获取特征(我想对12组Gabor参数值执行此操作).然后我想算一个汉明dystans并做认证.
如果有人可以在这里写params范围,或者如何在函数中计算它:
Imgproc.getGaborKernel(new Size(kSize[j], kSize[j]), sigma, theta, lambda, gamma);
我将非常感激.我当然试图自己分配,但没有成功.
示例文件:
解决方法:
你可以参考这个c代码找到你的图像的Gabor Edge检测器输出.我相信你也可以在java中形成类似的东西!使用这些值来查找所需的内核类型.
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <math.h>
using namespace cv;
int pos_kernel_size=21;
int pos_sigma= 5;
int pos_lm = 50;
int pos_th = 0;
int pos_gamma= 0;
int pos_psi = 90;
Mat src_f;
Mat dest;
void Process(int , void *)
{
int kernel_size=(pos_kernel_size-1)/2;
Size KernalSize(kernel_size,kernel_size);
double Sigma = pos_sigma;
double Lambda = 0.5+pos_lm/100.0;
double Theta = pos_th*CV_PI/180;
double psi = pos_psi*CV_PI/180;;
double Gamma = pos_gamma;
Mat kernel = getGaborKernel(KernalSize, Sigma, Theta, Lambda,Gamma,psi);
filter2D(src_f, dest, CV_32F, kernel);
imshow("Process window", dest);
Mat Lkernel(kernel_size*20, kernel_size*20, CV_32F);
resize(kernel, Lkernel, Lkernel.size());
Lkernel /= 2.;
Lkernel += 0.5;
imshow("Kernel", Lkernel);
Mat mag;
pow(dest, 2.0, mag);
imshow("Mag", mag);
}
int main(int argc, char** argv)
{
Mat image = imread("Gabor.bmp",0);
cv::imshow("Src", image);
image.convertTo(src_f, CV_32F, 1.0/255, 0);
if (!pos_kernel_size%2)
{
pos_kernel_size+=1;
}
cv::namedWindow("Process window", 1);
cv::createTrackbar("Sigma", "Process window", &pos_sigma, pos_kernel_size, Process);
cv::createTrackbar("Lambda", "Process window", &pos_lm, 100, Process);
cv::createTrackbar("Theta", "Process window", &pos_th, 180, Process);
cv::createTrackbar("Psi", "Process window", &pos_psi, 360, Process);
cv::createTrackbar("Gamma", "Process window", &pos_gamma, 100, Process);
Process(0,0);
waitKey(0);
return 0;
}
内容总结
以上是互联网集市为您收集整理的java – OpenCV中的Gabor内核参数全部内容,希望文章能够帮你解决java – OpenCV中的Gabor内核参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。