怎样进行图象识别?(过江项羽)

luhongjun 2002-07-23 02:53:58
以前灌水,有网友做了一个《水军提督》软件,里面把图象变成字符图象。这是怎样实现的?做过的网友希望不吝指教,学生这里有礼了,没作过的帮想想办法。没有时间也没做过的,帮住推推帖子,贴主再此表示感谢。

...全文
116 30 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2002-07-24
  • 打赏
  • 举报
回复
关注吧
lining_cumt985 2002-07-24
  • 打赏
  • 举报
回复
做个标记。
abomb 2002-07-24
  • 打赏
  • 举报
回复
UP、UP,高手出招,就是不一样哇
luhongjun 2002-07-24
  • 打赏
  • 举报
回复
问题这么快就解决了,谢谢朋友们的帮助。
尤其感谢ALNG(?) 兄的鼎立帮忙。
Canvas 2002-07-24
  • 打赏
  • 举报
回复
热闹
wangxd 2002-07-24
  • 打赏
  • 举报
回复
够了
勉励前行 2002-07-24
  • 打赏
  • 举报
回复
向這麼多位學習,學習。
孩皮妞野 2002-07-24
  • 打赏
  • 举报
回复
测试通过。

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Memo1->Font->Name="Fixedsys";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute()){
Graphics::TBitmap * bmp = new Graphics::TBitmap;
try{
bmp->LoadFromFile(OpenDialog1->FileName);
ConvertToText(bmp,Memo1->Lines);
}catch(...){
ShowMessage("Error proccessing the file!");
}
delete bmp;
}

}
//---------------------------------------------------------------------------
void TForm1::ConvertToText( const Graphics::TBitmap *const bmp, TStrings * sl)
{
static char *map="#M@HX$%+/;:=-,. ";

sl->Clear();
Graphics::TBitmap * tmp = new Graphics::TBitmap;
tmp->Assign(const_cast<Graphics::TBitmap *>(bmp));
tmp->PixelFormat = pf24bit;
for (int y = 0; y < tmp->Height; y++)
{
String s;
BYTE *ptr =(BYTE *) tmp->ScanLine[y];
for (int x = 0; x < tmp->Width*3; x+=3){
long Gray=(30*ptr[x+2]+59*ptr[x+1]
+11*ptr[x])/1594;
s += map[Gray];
}
sl->Add(s);
}
delete tmp;


}
//---------------------------------------------------------------------------
wjzhuang 2002-07-24
  • 打赏
  • 举报
回复
mark
wjzhuang 2002-07-24
  • 打赏
  • 举报
回复
mark
ChineseBcb 2002-07-24
  • 打赏
  • 举报
回复
Raptor(猛禽) :说的方法不错。这样应该很好实现。
三杯倒 2002-07-24
  • 打赏
  • 举报
回复
关注吧
  • 打赏
  • 举报
回复
多年未见啊!!
以前硬盘没坏的时候,倒是有一个小日本的程序源码。
不过现在没有了:)
xrbeck 2002-07-23
  • 打赏
  • 举报
回复
项老大的问题只能来表示关注了。。
781014 2002-07-23
  • 打赏
  • 举报
回复
qdxby 2002-07-23
  • 打赏
  • 举报
回复
UP
猛禽 2002-07-23
  • 打赏
  • 举报
回复
项兄对灌水也这么有兴趣?^_^
我想到的一个办法是:先把图像转为灰度图片0.59G+0.30R+0.11B(好象是这样^_^),再生成一个字符灰度表,记录一些字符的灰度(以黑色将这些字符显示在一个固定大小的白色方块里,统计其中黑色所占的比例),然后将图片中的点按其灰度用相应字符代替即可。
gudufeixiang 2002-07-23
  • 打赏
  • 举报
回复
如果是转化成ascll码的图象好象在有个很小的软件可以解决,华军软件上可以找到
mygodness 2002-07-23
  • 打赏
  • 举报
回复
什么意思?是像扫描仪扫描出来的文字进行识别?像手写板一样吗?
RedProgramer 2002-07-23
  • 打赏
  • 举报
回复
Up
加载更多回复(10)

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧