當前位置:首頁 » 編程語言 » c語言可以查找圖片中文字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言可以查找圖片中文字

發布時間: 2022-06-17 16:21:45

① 求教從圖片中識別文字的方法和演算法,謝謝!

你的文字是掃描儀掃描的列印文本,還是用戶手寫的?
對於前者要用OCR技術,google提供的免費開源ocr包很厲害的(好像叫tessertocr)!現在版本都3.0支持包括中文在內的很多語言。這是個c語言的包
如果是手寫線條,,可以使用微軟的tablet組件,他對中文的識別,和漢王不相上下,畢竟是花了10億美元的貨。這個c++ c#都能用,,

② C語言編程如何查找字元串中指定漢字

用數組比較方便,已兔字元為基準,前移兩個找到個數,後移三個找到顏色

③ c語言 如何讀取中文字元串

可以使用輸入輸出重定向來將TXT文本中的字元內容導入程序中,或者使用標准C庫函數:fopen()和fgetc();
先使用fopen()函數打開TXT文本文件,然後使用fgetc讀取文本文件中的字元。讀取全部文本中全部字元可以使用一個while循環加判斷是否讀取到文件結尾來實現:
char ch;
while((ch= fgetc(fp)) != EOF)

這樣當讀取到文件結尾時,while循環就會終止。
C語文編寫編譯如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLINE 100000
#define BUFLEN 1024
int main()
{
FILE *file;
char buf[BUFLEN];
int len=0,i=0;
char *array[MAXLINE];

file=fopen("test.txt","r");//打開TXST.TxT文件
if(!file)return -1;
while(fgets(buf,BUFLEN,file))//讀取TXT中字元
{
len=strlen(buf);
array[i]=(char*)malloc(len+1);
if(!array[i])break;
strcpy(array[i++],buf);
}

fclose(file);
i--;
while(i>=0&&array[i])
{
printf("%s\n",array[i]);//列印test文檔的字元
free(array[i--]);
}
}

④ C語言如何識別圖片中的數字和字母,不能使用現有的庫,只能在標准C下面做

這個功能要那麼容易實現,網站上的驗證碼就要暈了。

⑤ 哪位朋友會C語言處理中文字元串就是如何查找一段中文字元串里的特定的漢字

#include<stdio.h>
#include<string.h>

intsp(char*s,char*v,char*f)
{
inti,t,lens=strlen(s),lenv=strlen(v);
for(i=0;i<lens;++i){
if(s[i]==v[0]){
for(t=0;t<lenv;++t){
if(v[t]==s[i+t])continue;
elsebreak;
}
if(t==lenv){
intlenf=strlen(f);
if(lenf==lenv)
for(t=0;t<lenf;++t)
s[i+t]=f[t];
return1;
}
}
}return0;
}

intmain()
{
charu[7];scanf("%s",u);
sp(u,"ab","ef");
printf("%s",u);
return0;
}

附上運行圖,漢字同樣操作

⑥ c語言文件內查找輸出漢字

#include <stdio.h>

main() {
char key[] = "110105";
FILE *fp;
char line[2][20];
fp=fopen("file.txt", "r");
while(!feof(fp)) {
fscanf(fp, "%s", line[0]);
fscanf(fp, "%s", line[1]);

if (strncmp(line[0], key, 6)==0) {
printf("Found String is %s", line[1]);
break;
}

}
fclose(fp);
return 0;
}

你自己再修改一下,把key[]="110105"改為從命令行輸入;
fp=fopen(...)加上打開失敗的判斷。

⑦ 怎麼用程序(MATLAB和C語言都可以)識別圖片文字(如下圖),不一定要識別到100%,識別到一半以上就OK。

做相應字元的圖片表,以單個字元大小讀取原圖進行查表比對,黑色匹配超過%即認為是當前字元

⑧ 如何用c語言的數組,來進行文字的查找

C語言中的標准函數庫中的strchr()函數可以實現查找字元串中的某個字元。頭文件: #include <string.h>函數原型:char *strchr(const char *s, int c);函數說明:從左向右,在字元串s中查找字元c首次出現的位置,如果找到返回c在s中的位置(指針),否則返回NULL例:<pre t="code" l="cpp">#include <stdio.h>
#include <string.h>
void main()
{
char str[]="hello world";
char *p=strchr(str, 'w');
if ( p )
printf("find 'w'!);
else
printf("not found!");
}相關函數:char *strrchr(const char *s, int c); 從右向左,查找s中最右邊的匹配字元位置char *strstr(const char *s, const char *sub); //在s中查找sub子串出現的位置

⑨ 如何用c語言讀取圖片

#include

using namespace std;

#define Twoto1(i,j,w) i*w+j

void createimage(unsigned char *&img, int w, int h)

{img = new unsigned char[w*h];}

void delateimage(unsigned char*img)

{delete []img;}

void readimage(unsigned char*img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp,fname, "rb");

if (fp == NULL){ cout << "error" << endl; return; }

size_t result;

result=fread(img , sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Reading error" << endl;

return;

}

else

cout << "Reading Ok!" << endl;

fclose(fp);

}

void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])

{

for (int i = 0; i for (int j = 0; j if (iw - 3 || j>h - 3)

image1[Twoto1(i,j,w)] = 0;

else

{

float temp = 0;

for (int m = 0; m<5; m++)

for (int n = 0; n<5; n++)

{

temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);

}

if (temp>255) image1[Twoto1(i, j, w)] = 255;

else if (temp<0) image1[Twoto1(i, j, w)] = 0;

else image1[Twoto1(i, j, w)] = temp;

}

}

void saveimage(unsigned char *img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp, fname, "wb");

if (fp == NULL) { cout << "error" << endl; return; }

size_t result;

result = fwrite(img, sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Write error" << endl;

return;

}

else

cout << "Write Ok!" << endl;

fclose(fp);

}

void main()

{

unsigned char *img;

unsigned char *img1;

float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };

//float moban[5][5] = { 0 };

int w = 512, h = 512;

createimage(img, w, h);

createimage(img1, w, h);

readimage(img, w, h, "E:ss.raw");

mobanjuanji(img, img1,w, h, moban);

saveimage(img, w, h, "E:ss_1.raw");

saveimage(img1, w, h, "E:ss_2.raw");

delateimage(img);

delateimage(img1);

}

(9)c語言可以查找圖片中文字擴展閱讀

C語言實現一個圖片的讀出和寫入

#include <stdlib.h>

#include <windows.h>

int file_size(char* filename)//獲取文件名為filename的文件大小。

{

FILE *fp = fopen(filename, "rb");//打開文件。

int size;

if(fp == NULL) // 打開文件失敗

return -1;

fseek(fp, 0, SEEK_END);//定位文件指針到文件尾。

size=ftell(fp);//獲取文件指針偏移量,即文件大小。

fclose(fp);//關閉文件。

return size;

}

int main ()

{

int size=0;

size=file_size("qw");

printf("%d ",size);

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

fwrite (buffer , sizeof(byte), size , pFile );

fclose (pFile);

rename("qwe","Groot.jpg");

return 0;

}

⑩ c語言中如何用字母去檢索漢字名稱 謝謝

這個實現起來很麻煩,不過方法還是有的,你可以定義一個字元數組,前面第一第二個元素存漢字,後面第三個元素存首字母,當然,也可以向文件裡面寫入一塊內容,包含漢字和首字母,如果考慮多音字的話,可以遍歷鏈表或者文件,程序是永遠沒有止盡的,沒有做不到,只有想不到這句話在編程中是最適合用的。