@@ -41,33 +41,13 @@ void qunitary(InputArray _img, OutputArray _qimg)
41
41
{
42
42
int type = _img.type (), depth = CV_MAT_DEPTH (type), cn = CV_MAT_CN (type);
43
43
CV_Assert ((depth == CV_64F) && _img.dims () == 2 && cn == 4 );
44
- vector<Mat> qplane (4 ), plane;
45
- split (_img, plane);
46
44
_img.copyTo (_qimg);
47
45
Mat qimg = _qimg.getMat ();
48
46
qimg.forEach <Vec4d>([](Vec4d &p, const int * /* position*/ ) -> void {
49
47
double d = p[0 ] * p[0 ] + p[1 ] * p[1 ] + p[2 ] * p[2 ] + p[3 ] * p[3 ];
50
48
d = 1 / sqrt (d);
51
49
p *= d;
52
50
});
53
- /*
54
- qplane[0] = plane[0].clone();
55
- qplane[1] = plane[1].clone();
56
- qplane[2] = plane[2].clone();
57
- qplane[3] = plane[3].clone();
58
- double *ptr0 = qplane[0].ptr<double>(0, 0), *ptr1 = qplane[1].ptr<double>(0, 0);
59
- double *ptr2 = qplane[2].ptr<double>(0, 0), *ptr3 = qplane[3].ptr<double>(0, 0);
60
- int nb = plane[0].rows*plane[0].cols;
61
- for (int i = 0; i < nb; i++, ptr0++, ptr1++, ptr2++, ptr3++)
62
- {
63
- double d = *ptr0 * *ptr0 + *ptr1 * *ptr1 + *ptr2 * *ptr2 + *ptr3 * *ptr3;
64
- d = 1 / sqrt(d);
65
- *ptr0 *= d;
66
- *ptr1 *= d;
67
- *ptr2 *= d;
68
- *ptr3 *= d;
69
- }
70
- merge(qplane, _qimg);*/
71
51
}
72
52
73
53
void qdft (InputArray _img, OutputArray _qimg, int flags, bool sideLeft)
0 commit comments