23 #include <fvfilters/sharpen.h>
25 #include <core/exception.h>
29 #elif defined(HAVE_OPENCV)
32 # error "Neither IPP nor OpenCV available"
35 namespace firevision {
46 FilterSharpen::FilterSharpen()
67 if ( status != ippStsNoErr ) {
70 #elif defined(HAVE_OPENCV)
75 cv::Mat srcm(src_roi[0]->height, src_roi[0]->width, CV_8UC1,
77 (src_roi[0]->start.y * src_roi[0]->line_step) +
78 (src_roi[0]->start.x * src_roi[0]->pixel_step),
79 src_roi[0]->line_step);
87 cv::Mat kernel(3, 3, CV_32F);
88 float *kernel_f = (
float *)kernel.ptr();
89 kernel_f[0] = -0.125; kernel_f[1] = -0.125; kernel_f[2] = -0.125;
90 kernel_f[3] = -0.125; kernel_f[4] = 2.0; kernel_f[5] = -0.125;
91 kernel_f[6] = -0.125; kernel_f[7] = -0.125; kernel_f[8] = -0.125;
93 cv::Point kanchor(1, 1);
95 cv::filter2D(srcm, dstm, -1, kernel, kanchor);
fawkes::point_t start
ROI start.
unsigned int x
x coordinate
unsigned int width
ROI width.
virtual void apply()
Apply the filter.
unsigned char ** src
Source buffers, dynamically allocated by Filter ctor.
Base class for exceptions in Fawkes.
unsigned int y
y coordinate
ROI ** src_roi
Source ROIs, dynamically allocated by Filter ctor.
unsigned int height
ROI height.
unsigned int line_step
line step
unsigned char * dst
Destination buffer.
unsigned int pixel_step
pixel step
ROI * dst_roi
Destination ROI.