1. 如何用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);
}
(1)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;
}
2. 怎麼在c語言中調用騰訊雲的ocr文字識別api來識別文字
服務簡介:手寫體 OCR 識別,根據用戶上傳的圖像,返回識別出的欄位信息。
計費說明:本介面按實際使用量計費,具體定價請查看 計費說明。
URL說明:支持 http 和 https 兩種協議:
http://recognition.image.myqcloud.com/ocr/handwriting
https://recognition.image.myqcloud.com/ocr/handwriting
然後就是向它POST相應格式的數據就行了(用socket連接,發送HTTP request)。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
請求方式
請求頭 header
參數名 必選 值 描述
host 是 recognition.image.myqcloud.com 騰訊雲文字識別伺服器域名
content-length 否 包體總長度 每個請求的包體大小限制為6MB,不支持.gif類型的動圖
content-type 是 application/json 或 multipart/form-data 根據不同介面選擇:
1. 使用圖片 url,選擇 application/json;
2. 使用圖片 image,選擇 multipart/form-data。
authorization 是 鑒權簽名 多次有效簽名,用於鑒權,生成方式見 鑒權簽名方法
注意:
如選擇 multipart/form-data,請使用 http 框架/庫推薦的方式設置請求的 content-type,不推薦直接調用 setheader 等方法設置,否則可能導致 boundary 缺失引起請求失敗。
請求參數
參數名稱 必選 類型 說明
appid 是 string 接入項目的唯一標識,可在 賬號信息 或 雲 API 密鑰 中查看
image 否 binary 圖片文件,支持多個
url 否 String image 和 url 只提供一個即可;如果都提供,只使用 url
返回內容 欄位 類型 說明
code Int 返回狀態值
message String 返回錯誤消息
data.items array(item) 識別出的所有欄位信息
item 說明:
欄位 類型 說明
itemstring string 欄位字元串
itemcoord object 欄位在圖像中的像素坐標,包括左上角坐標 x,y,以及寬、高 width,height
words array(word) 欄位識別出來的每個字的信息
words 說明:
欄位 類型 說明
character string 識別出的單字字元
confidence float 識別出的單字字元對應的置信度,取值范圍[0,100]
3. 圖片識別文字軟體該怎麼使用
圖片文字識別軟體,操作起來很方便,下面我就給你分享一下我的使用方法吧:
我們首先打開圖片文字識別軟體。
點擊上面的【快速識別】功能。
接著點擊左上角的【添加文件】。
然後在軟體下面修改【輸出目錄】。
最後點擊操作下面的【開始識別】。
4. 怎麼把圖片上的字體提取出來
操作方法
01
我們這里提取圖片上的文字需要用到漢王ORC軟體,所以要在電腦中預先安裝好漢王ORC軟體,安裝過程, 就不多做贅述啦;
02
我們首先打開漢王ORC軟體;
03
點擊左上角「文件」按鈕,在下拉菜單中選擇「打開圖像」;
04
找到我們要提取文字的圖像,點擊「打開」按鈕;
05
我們看到圖中的文本方向需要調整,所以我們點擊「編輯」按鈕,在下拉菜單中選擇「旋轉圖像」->向右旋轉90度;
(備註:如果圖片傾斜的話,我們還可以選擇自動校正)
06
我們點擊「識別」按鈕,在下拉菜單中選擇「頁面分析」;
07
點擊「版面分析」後,圖片中會出現一個綠框,我們調整綠框,將其框住我們要提取的文字部分;
08
我們點擊識別按鈕,點擊「修改欄屬性」->橫欄;
09
這時,我們會發現框線變紅,我們再次點擊「識別」按鈕,在下拉菜單中選擇「開始識別」;
10
幾秒鍾之後,我們就可以看到文字識別結果啦,我們可以直接對識別的結果「Ctrl+ C」,也可以在圖片放置的文件夾中找到結果輸出的Txt文檔,這樣,我們的圖片提取文字就大功告成啦!
5. 什麼軟體能識別出圖片中的文字,並提取出來
ABBYYFineReaderPro
ABBYY是一家俄羅斯軟體公司,在文檔識別,數據捕獲和語言技術的開發中居世界領先地位。其獲獎產品FineReaderOCR軟體可以把靜態紙文件和PDF文件轉換成可管理的電子數據,可以大大節省您的時間和精力。2005年12月22日,ABBYY美國宣布,ABBYYFineReader8.0專業版被美國著名計算機雜志《PCMagazine》授予4星。ABBYYFineReaderProfessional是一款真正的專業OCR,它不僅支持多國文字,還支持彩色文件識別、自動保留原稿插圖和排版格式以及後台批處理識別功能,使用者再也不用在掃描軟體、OCR、WORD、EXCEL之間換來換去了,處理文件會變的就像打開已經存檔的文件一般便捷。
1、運算軟體,選擇「圖象或PDF文件到Microsoft Word」
2、選擇文件的保存格式。
3、將文件拖放,FineReader就會自動完成其餘步驟。
6. 怎麼用程序(MATLAB和C語言都可以)識別圖片文字(如下圖),不一定要識別到100%,識別到一半以上就OK。
做相應字元的圖片表,以單個字元大小讀取原圖進行查表比對,黑色匹配超過%即認為是當前字元
7. 使用原始的c語言把bmp格式的圖片識別成文字
這個得有特徵提取的演算法了,鄙人不會
8. 怎樣從cdr圖片中提取文字
1、首先在cdr軟體中打開cdr圖片;
9. 哪個軟體可以識別圖片文字
你可以試試迅捷文字識別,它可以識別手機相冊里的圖片,也可以直接拍照識別文字。
軟體具體操作方法:
在手機上打開軟體,點擊拍照識別,利用相機拍攝你想要提取的文字,再點擊立即識別。
識別出來的文本內容可以進行復制,如果想要提取圖片上的文字,點擊復制即可。
10. 電腦怎麼掃描圖片上的文字
電腦上要使用掃描圖片上有文字變成可編輯的文本,這是可以實現。
在電腦上安裝O C R軟體就可以掃描識別圖片上的文字的。
如果圖片中文字字母和字元混排的,識別率可能會低一些的。