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软件就可以扫描识别图片上的文字的。
如果图片中文字字母和字符混排的,识别率可能会低一些的。