本文整理汇总了C++中image::channels方法的典型用法代码示例。如果您正苦于以下问题:C++ image::channels方法的具体用法?C++ image::channels怎么用?C++ image::channels使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类image
的用法示例。
在下文中一共展示了image::channels方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cvCreateImage
typename image<T, D>::create_new median_blur(const image<T, D>& a, int neighbourhood)
{
IplImage* src = a.ipl();
IplImage* dst = cvCreateImage(cvGetSize(src),
image_details::ipl_depth<T>(), int(a.channels()));
cvSmooth(src, dst, CV_MEDIAN, neighbourhood);
typename image<T, D>::create_new r(dst);
cvReleaseImage(&src);
cvReleaseImage(&dst);
return r;
}
示例2: laplace
typename image<T, D>::create_new laplace(const image<T, D>& a,
int aperture_size)
{
IplImage* src = a.ipl();
IplImage* dst = cvCreateImage(cvGetSize(src),
image_details::ipl_depth<T>(), int(a.channels()));
cvLaplace(src, dst, aperture_size);
typename image<T, D>::create_new r(dst);
cvReleaseImage(&src);
cvReleaseImage(&dst);
return r;
}
示例3: sobel
typename image<T, D>::create_new sobel(const image<T, D>& a,
int y_order, int x_order, int aperture_size)
{
IplImage* src = a.ipl();
IplImage* dst = cvCreateImage(cvGetSize(src),
image_details::ipl_depth<T>(), (int)a.channels());
cvSobel(src, dst, x_order, y_order, aperture_size);
typename image<T, D>::create_new r(dst);
cvReleaseImage(&src);
cvReleaseImage(&dst);
return r;
}
示例4: resample
typename image<T, D>::create_new resample(const image<T, D>& a, size_t rows, size_t cols,
interpolation interp)
{
IplImage* src = a.ipl();
IplImage* dst = cvCreateImage(
image_details::cv_size(cols, rows),
image_details::ipl_depth<T>(), int(a.channels()));
cvResize(src, dst, image_details::interpolation_map[interp]);
typename image<T, D>::create_new r(dst);
cvReleaseImage(&src);
cvReleaseImage(&dst);
return r;
}
示例5: grayscale
typename image<T, D>::create_similar grayscale(const image<T, D>& a)
{
size_t ch = a.channels();
CHECK(ch > 1, erange());
size_t w = a.width();
size_t h = a.height();
typename types::promote<T>::type acc;
typename image<T, D>::create_similar r(h, w, 1, 0);
for(size_t i = 0; i < h; i++) {
for(size_t j = 0; j < w; j++) {
acc = a(i, j, 0);
for(size_t col = 1; col < ch; col++)
acc += a(i, j, col);
acc /= typename types::promote<T>::type(ch);
r(i, j) = T(acc);
}
}
return r;
}
示例6: rotate
typename image<T, D>::create_new rotate(const image<T, D>& a, double angle,
const float_point<2>& center, double scale, interpolation interp,
warp_method warp_m, color<T, D::Ch> fill_color)
{
IplImage* src = a.ipl();
IplImage* dst = cvCreateImage(cvGetSize(src),
image_details::ipl_depth<T>(), int(a.channels()));
CvPoint2D32f cvcenter;
cvcenter.x = center.x;
cvcenter.y = center.y;
CvMat* map_matrix = cvCreateMat(2, 3, image_details::cv_type<double>());
cv2DRotationMatrix(cvcenter, angle, scale, map_matrix );
cvWarpAffine(src, dst, map_matrix,
image_details::interpolation_map[interp]+
image_details::warp_map[warp_m] ,
image_details::to_cvscalar(fill_color));
typename image<T, D>::create_new r(dst);
cvReleaseMat(&map_matrix);
cvReleaseImage(&src);
cvReleaseImage(&dst);
return r;
}