我试图通过在OpenCV for Java中使用带有4个过滤器(4 theta)的gabor过滤器来增强指纹图像:
private Mat enhanceImg(Mat myImg){
// prepare the output matrix for filters
Mat gabor1 = new Mat (myImg.width(), myImg.height(), CvType.CV_8UC1);
Mat gabor2 = new Mat (myImg.width(), myImg.height(), CvType.CV_8UC1);
Mat gabor3 = new Mat (myImg.width(), myImg.height(), CvType.CV_8UC1);
Mat gabor4 = new Mat (myImg.width(), myImg.height(), CvType.CV_8UC1);
Mat enhanced = new Mat (myImg.width(), myImg.height(), CvType.CV_8UC1);
//predefine parameters for Gabor kernel
Size kSize = new Size(31,31);
double theta1 = 0;
double theta2 = 45;
double theta3 = 90;
double theta4 = …Run Code Online (Sandbox Code Playgroud) 我想在Response XML中查找特定节点,并返回true或false,具体取决于它是否与条件匹配.我该怎么做才能只接收一个唯一的节点响应,而不是XML包含的元素数量?
这是我的Xquery代码:
for $recordRetrieved in $sA_ADS_VerifOutput1/ns0:recordRetrieved
return
if ($recordRetrieved/ns0:COD_NRBE_EN = $ent and
$recordRetrieved/ns0:DAT <= $dat)
then <ns2:func>{ true() }</ns2:func>
else <ns2:func>{ false() }</ns2:func
Run Code Online (Sandbox Code Playgroud)
使用此代码,如果XML包含3个元素,$sA_ADS_VerifOutput1/ns0:recordRetrieved则响应将是(例如):
<ns2:func>false</ns2:func>
<ns2:func>false</ns2:func>
<ns2:func>true</ns2:func>
Run Code Online (Sandbox Code Playgroud)
我不想要这个,但如果一切都是假的,我希望<ns2:func>false</ns2:func>如果至少有一个是真的,我希望<ns2:func>true</ns2:func>,只有一次.
我想过使用这个where条款,但是如果没有elemet符合条件,我需要出现错误.
谢谢.