-
The Image Processing Tool
CProBasic class
:
封装了基本的图像处理函数。卷积运算、形态学运算、基本滤
波函数等。
?
?
?
?
p>
支持新的
loading/saving
图
像文件(
bmp / tiff
)
为旋转函数增加参数;
为卷积、旋转剪切三个几何变换增加插值模态;
增加亚像素的十字检测函数;
edge crossing
detection
CProData
class
:对单个图像像素或向量分量的操作。
CProPoint class
:整数点类。通过
CProData
来读取特定向量的整数坐标。
CProFPoint class
:浮点点类。通过
CProData
来读取特定向量的浮点坐标。
CProComplex Class:
复数类,读写复数图像;
CProRect class
:矩形类,整数坐标。设置
p>
ROI
;
CProVector
Class
:对向量的内存分配和运算。
CProLut class
:构造一个函数转换,通过
ApplyLut
执行。
CProLut(const
char
*expression,
int
userConstant,
CProData::Format
inputFormat,
CProData::Format outputFormat,
Conversion conversion =
ConversionRound);
CProImage
class
:图像类通过
Load()
从图像文件中加载。
CProKernel
class
:运算核类。
Example:
调用
Proces
sing
类函数
CProImage
in(100, 100, CProData::FormatUByte,
myData);
CProImage out(100, 100,
CProData::FormatUByte);
CProBasic pro;
s(in, out,
CProBasic::CompassN);
//
输入图像
设置
Region-of-interest
CProRect roi(25, 25, 50,
50);
CProImage in(100, 100,
CProData::FormatUByte, roi, myData);
CProImage out(50, 50,
CProData::FormatUByte);
CProBasic pro;
(in, out, CProBasic::FlipRotate90)
设置输出的
ROI
< br>:
CProRect inRoi(25, 25,
50, 50);
CProRect outRoi(10,
10, 50, 50);
//
Must be larger or equal to the input
ROI
CProImage in(100, 100,
CProData::FormatUByte, inRoi, myData);
CProImage out(100, 100,
CProData::FormatUByte, outRoi);
CProBasic pro;
(in, out, CProBasic::OutputBinary);
Output Image Allocation
Modes
以输入图像直接输出
consuming
image processing.
filtering
and the
morphology.
CProImage in(100, 100,
CProData::FormatUByte, myData);
CProBasic pro;
(in, in, CProBasic::Gauss5x5);
用户分配输出图像内存
:
non-consuming
mode.
Geometry
CProImage
in(100, 100, CProData::FormatUByte,
myData);
CProImage out(100,
100, CProData::FormatUByte);
CProBasic pro;
(in, out, 50);
由处理函数分配内存:
non-consuming
mode.
image rotation
CProImage in(100, 100,
CProData::FormatUByte, myData);
CProImage out;
CProBasic
pro;
(in, out,
30);
Output V
ect
ors:
对于输出是复数的函数,分配复数输出
CProImage in(100, 100,
CProData::FormatUByte, myData);
CProVector vec(256,
CProData::FormatPoint);
CProBasic
pro;
ram(in,
vec);
Using a
Processing Kernel
CProKernel
filtering and
morphology
CProImage in(100, 100,
CProData::FormatUByte, myData);
CProKernel kernel(CProKernel::T
< br>ypeSobelHorz);
CProBasic
pro;
2d(in, in, kernel);
自定义运算核
int kernelData[9] = {0, 1,
0, 1, 1, 1, 0, 1, 0};
CProKernel
kernel(CProKernel::T
ypeUser, 3, 3,
kernelData);
LUT
定义数学函数的向量或整数
A
lookup table
is vector of
integer values describing a mathematical function.
用户自定义的灰度变换,如:
thresholding,
gamma correction, contrast adjustment, etc.
CProImage in(100, 100,
CProData::FormatUByte, myData);
CProLut lut(
, in, in);
CProBasic pro;
ut(in, lut, in);
2.
The Search
Tool
提供在
1/64 sub-pixel
分辨率下的高级搜索,
搜索区域可以由面积或边缘特征定义
(单向边
缘或多向边缘或同时)
be defined
by area or edges, scaled, rotated, or both.
能使用于部分
缺损或闭塞(
occlusion
)及噪声图像。
Mode
Good
For...
Not Good
For...
任意角度旋转
任意尺度缩放
随机的对比度改变
Area-based
噪声模型
缺损模型
小角度旋转
E.g., +/- 5°
尺度缩放
E.g., 0.8 - 1.2
特定角度旋转
.Eg, 30°
,
60°
, 90°
特定倍数缩放
. E.g., 0.5, 2, 4
Edge-based
对比度反转图像
有明显边界的图像
部分闭塞
occlusion
的图像
< br>
任意旋转的图像
CProSearchArea
:基于面积的搜索算法描述类;
噪声或模糊边界图像
纹理背景的图像
CproSearchEdge
:基
于边缘提取的搜索算法描述类;
CproContours<
/p>
:描述曲线的类,与边缘搜索模板共同使用;
Example:
Choosing a Search Mode
CProS
earch
类提供两种搜索方法共有的函数,如添加模型和获取结果;它的两个派生类<
/p>
CproSearchArea
和
Cpr
oSearchEdge
用于选取算法和设定参数。
?
用默认参数搜索单一模板
CProRect
modelRoi(22, 33, 37, 50);
CProImage modelImage(256, 256,
CProData::FormatUByte, modelRoi, myData);
CProSearchArea search;
el(
CProRect targetRoi(0, 0, 128,
128);
CProImage
targetImage(256, 256, CProData::FormatUByte,
targetRoi, myData);
e(targetImage);
?
获取搜索结果
Accessing
the Results
for (int i = 0; i <
Matches(); i++)
{
float score =
chScore(i);
float x = chLocationX(i);
float y = chLocationY(i);
int modelIndex
= chModelIndex(i);
float angle =
chAngle(i);
float scale = chScale(i);
-
-
-
-
-
-
-
-
-
上一篇:怎么写保证书(共7篇)-如何写保证书
下一篇:图像处理 常见英文名词解释