- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
答题卡阅读Delphi源码
前段时间写的识别代替卡的源码,基于图像上的颜色块实现,后来采用OMR来做,方便多了,把这个代码公布出来,只是一种想法而已。下面代码只是实现了读取学号的功能,读取客观题的方法差不多。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//基准线的X、Y值结构体
type TLineXY=record
x:Integer;
y:Integer;
end;
//准考证号x,对应的数字
type TNumberX=record
x:Integer;
No:Integer;
end;
var
Form1: TForm1;
ImgFile:String;
AreaCount:Integer;
AreaXY:array[1..30] of TLineXY;
NoArray:array[1..6] of TNumberX;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Filter:=Image files(*.bmp)|*.bmp;
if OpenDialog1.Execute then
ImgFile:=OpenDialog1.FileName;
end;
//递归查找基准线
function GetColorArea(Img:TBitmap;x,y:Integer):Integer;
begin
if (img.Canvas.Pixels[x,y]=clBlack) and
(img.Canvas.Pixels[x,y+14]=clBlack) and
(img.Canvas.Pixels[x+56,y]=clBlack) and
(img.Canvas.Pixels[x+56,y+14]=clBlack) and//上半部分判断的是指定黑色框大小
(img.Canvas.Pixels[x-1,y]=clWhite) and
(img.Canvas.Pixels[x,y-1]=clWhite) and
(img.Canvas.Pixels[x,y+15]=clWhite) and
(img.Canvas.Pixels[x+57,y]=clWhite) then//下半部分判断的是指定框大小外面是否为白色
begin
AreaCount:=AreaCount+1;
//记录每个黑色块的x值
AreaXY[AreaCount].x:=x;
AreaXY[AreaCount].y:=y;
GetColorArea(Img,x,y+5+15);
end;
Result:=AreaCount;
end;
//冒泡排序学号
procedure NoList(var Arr:array of TNumberX);
var
i,j,tempx,tempNo:integer;
begin
for i:=High(Arr) downto Low(Arr) do
begin
for j:=Low(Arr) to High(Arr)-1 do
begin
if Arr[j].xArr[j+1].x then
begin
tempx:=Arr[j].x;
tempNo:=Arr[j].No;
Arr[j].x:=Arr[j+1].x;
Arr[j].No:=Arr[j+1].No;
Arr[j+1].x
您可能关注的文档
- 此学生手册中文版编印於英文版之后.pdf
- 从哈姆雷特角色里窥探人性.pdf
- 从行业趋势分析元器件上市公司业绩.pdf
- 从贫困之子到世界级大师-村上隆.pdf
- 从葡萄干面包模型到原子结构的行星模型教学设计.doc
- 萃取工职业技能鉴定要求.pdf
- 大型冷挤压模具设计技术.doc
- 大枣深加工项目可行性市场分析及发展趋势研究报告.pdf
- 戴尔分销闪电登场 双渠道体系面临乱局.pdf
- 单级蒸汽压缩式制冷机性能测试.doc
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
最近下载
- 高三分管教学副校长在2026届高三一模质量分析大会上的总结讲话.docx VIP
- 公路交通基础设施数字化转型技术指南.pdf VIP
- 研究生试卷(模板).pdf VIP
- DB3210_T1025-2019_旅游警察服务规范_扬州市 .docx VIP
- 2024高压电缆终端红外精确检测技术规范.docx VIP
- 输电线路运行规程课件.pptx VIP
- 全国建筑业绿色施工示范工程申报和验收指南(完整稿).docx VIP
- 二年级(上册)口算100道(6套直接打印).doc VIP
- 【278页PPT】ISO9001质量管理体系培训教材课件.ppt VIP
- 伦理审查保护受试者权益的重要步骤.pptx VIP
原创力文档


文档评论(0)