OpenCV2.3翻译为Delphi--测试
来源:互联网 发布:天津数控编程招聘信息 编辑:程序博客网 时间:2024/05/18 00:05
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OpenCV, IPL;
type
TFrmMain = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
box: CVRect;
implementation
{$R *.dfm}
procedure MouseCallback(event, x, y, flags: Integer; param: Pointer); cdecl;
var
image: PIplImage;
begin
image := PIplImage(param);
case event of
CV_EVENT_MOUSEMOVE:
ShowMessage('d');
end;
end;
procedure SwitchCallback(pos: Integer);
begin
pos := cvGetTrackbarPos('Switch', 'Example1');
ShowMessage(IntToStr(pos));
end;
procedure TFrmMain.Button1Click(Sender: TObject);
var
img: PIplImage;
smt: PIplImage;
iot: PIplImage;
i: Integer;
threshold_type: Integer;
adaptive_method: Integer;
block_size: Integer;
offset: Double;
value: PInteger;
sz: TSize;
pnt: CvPoint;
vl: CvScalar;
storage: PCvMemStorage;
res: PCvSeq;
//锐化
knl: PCvMat;
pdata: array[0..9] of float;
p: PFloat;
//adaptThresh 15 1 1 71 15 ../Data/cal3-L.bmp
begin
threshold_type := CV_THRESH_BINARY;
adaptive_method := CV_ADAPTIVE_THRESH_MEAN_C;
block_size := 71;
offset := 30;
img := cvLoadImage(PChar(ExtractFilePath(ParamStr(0)) + '2.jpg'), CV_LOAD_IMAGE_GRAYSCALE);
smt := cvCloneImage(img);
iot := cvCloneImage(smt);
//cvSmooth(img, smt, CV_GAUSSIAN, 5, 5);
cvCanny(img, smt, 30, 60);
// storage := cvCreateMemStorage(0);
// res := cvHoughCircles(smt, storage, CV_HOUGH_GRADIENT, 1, 100, 150, 55, 0, 0);
// for i := 0 to res^.total - 1 do
// begin
// p := PFloat(cvGetSeqElem(res, i));
// pnt := cvPoint_(cvRound(p^), cvRound(p^));
// Inc(p);
// pnt.y := cvRound(p^);
// Inc(p);
// cvCircle(smt, pnt, cvRound(p^), CV_RGB($33, $55, $77));
// end;
cvNamedWindow('Example1', CV_WINDOW_AUTOSIZE);
cvNamedWindow('Example2', CV_WINDOW_AUTOSIZE);
//cvSetMouseCallback('Example1', MouseCallback, smt);
//cvCreateTrackbar('Switch', 'Example1', value, 1, SwitchCallback);
cvShowImage('Example1', img);
cvShowImage('Example2', smt);
cvWaitKey(0);
cvReleaseImage(img);
cvReleaseImage(smt);
cvDestroyWindow('Example1');
cvDestroyWindow('Example2');
end;
procedure TFrmMain.Button2Click(Sender: TObject);
var
Igray, It, Iat: PIplImage;
threshold: Double;
threshold_type: Integer;
adaptive_method: Integer;
block_size: Integer;
offset: Double;
sz: TSize;
//adaptThresh 15 1 1 71 15 ../Data/cal3-L.bmp
begin
threshold := 82;
threshold_type := CV_THRESH_BINARY;
adaptive_method := CV_ADAPTIVE_THRESH_MEAN_C;
block_size := 71;
offset := 25;
Igray := cvLoadImage(PChar(ExtractFilePath(ParamStr(0)) + '01.jpg'), CV_LOAD_IMAGE_GRAYSCALE);
if not Assigned(Igray) then
Exit;
It := cvCreateImage(cvSize_(Igray.Width, Igray.Height), IPL_DEPTH_8U, 1);
Iat := cvCreateImage(cvSize_(Igray.Width, Igray.Height), IPL_DEPTH_8U, 1);
//Threshold
cvThreshold(Igray, It, threshold, 255, threshold_type);
cvAdaptiveThreshold(Igray, Iat, 255, adaptive_method, threshold_type, block_size, offset);
cvSaveImage('c:\1.bmp', Iat);
cvNamedWindow('Raw', 1);
cvNamedWindow('Threshold', 1);
cvNamedWindow('Adaptive Threshold', 1);
cvShowImage('Raw', Igray);
cvShowImage('Threshold', It);
cvShowImage('Adaptive Threshold', Iat);
cvWaitKey(0);
cvReleaseImage(Igray);
cvReleaseImage(It);
cvReleaseImage(Iat);
cvDestroyWindow('Raw');
cvDestroyWindow('Threshhold');
cvDestroyWindow('Adaptive Threshold');
end;
end.
- OpenCV2.3翻译为Delphi--测试
- OpenCV2.3库翻译为Delphi--函数导入
- OpenCV2.3库翻译为Delphi--公共类型
- OpenCV2.3 测试例子源码
- 想把kernel32.DLL导出函数翻译为Delphi函数
- vc2010编译测试opencv2.4.6 【3】
- 翻译测试
- opencv2.2更新(翻译官方网)
- OpenCV2.2的新特性(翻译)
- opencv2.2更新(翻译官方网)
- delphi下的google翻译
- Delphi编译错误代码翻译表
- (翻译)测试错误代码
- (翻译)本地化测试
- (翻译)可用性测试
- 翻译:测试成熟度模型
- 拼音翻译为阿拉伯数字
- opencv2的第一个测试小程序
- 使用GIT合并分支: git-merge and git-pull
- OpenCV2.3库翻译为Delphi--公共类型
- Java+MySql+Servlet+Ajax实现单态登陆,说白了就是一个账号只能在一个浏览器中登陆。
- android.graphics.Camera 仿3D效果
- Cookie读写demo
- OpenCV2.3翻译为Delphi--测试
- apache + svn 版本控制服务器创建
- TYPE_SCROLL_SENSITIVE和TYPE_SCROLL_INSENSITIVE的区别,CONCU_UPDATABLE的用法
- HowTo:Step-by-Step memcache安装及常见问题
- servlet的重定向和请求转发
- mac lion 下载
- PowerPC 体系结构之指令集(综述)
- spring+ hibernate + struth2 整合开发
- php配置文件