导航:首页 > 图片大全 > 如何编程图片颜色文字提取

如何编程图片颜色文字提取

发布时间:2022-02-23 03:52:26

‘壹’ 求matlab彩色图片的颜色特征提取算法的代码,和纹理特征提取的代码。传统方法即可。

其实学数字图像处理,关键的不是源代码(和一般编程还是有区别的,这个是经验之谈,其实一般博导未必会编程,但是你和他说说你的方法,他一般都能切中要害),而是你能理解基于概念及适用场所。
基于颜色、纹理、形状都属于低层特征,这些你理解就够了,关键是对你的课题适合哪种方法来映射到高层语义上面,例如:识别物体轮廓,那可能形状就比较适合等。
我之所以写上面那段话,主要是我感觉你索取代码也不说明具体要求,也就是方向不明确。
如今颜色特征提取算法有很多,诸如颜色直方图、颜色矩、颜色集、颜色聚合向量、颜色相关图等,既然你没说,我就给个IEEE CSVT 2001的一篇关于颜色直方图法的论文(源码版权归作者所有):
function colorhist = colorhist(rgb)
% CBIR_colorhist() --- color histogram calculation
% input: MxNx3 image data, in RGB
% output: 1x256 colorhistogram == (HxSxV = 16x4x4)
% as the MPEG-7 generic color histogram descriptor
% [Ref] Manjunath, B.S.; Ohm, J.-R.; Vasudevan, V.V.; Yamada, A., "Color and texture descriptors"
% IEEE Trans. CSVT, Volume: 11 Issue: 6 , Page(s): 703 -715, June 2001 (section III.B)
% check input
if size(rgb,3)~=3
error('3 components is needed for histogram');
end
% globals
H_BITS = 4; S_BITS = 2; V_BITS = 2;
%rgb2hsv可用rgb2hsi代替,见你以前的提问。
hsv = uint8(255*rgb2hsv(rgb));

imgsize = size(hsv);
% get rid of irrelevant boundaries
i0=round(0.05*imgsize(1)); i1=round(0.95*imgsize(1));
j0=round(0.05*imgsize(2)); j1=round(0.95*imgsize(2));
hsv = hsv(i0:i1, j0:j1, :);

% histogram
for i = 1 : 2^H_BITS
for j = 1 : 2^S_BITS
for k = 1 : 2^V_BITS
colorhist(i,j,k) = sum(sum( ...
bitshift(hsv(:,:,1),-(8-H_BITS))==i-1 &...
bitshift(hsv(:,:,2),-(8-S_BITS))==j-1 &...
bitshift(hsv(:,:,3),-(8-V_BITS))==k-1 ));
end
end
end
colorhist = reshape(colorhist, 1, 2^(H_BITS+S_BITS+V_BITS));
% normalize
colorhist = colorhist/sum(colorhist);

%基于纹理特征提取灰度共生矩阵用于纹理判断
% Calculates cooccurrence matrix
% for a given direction and distance
%
% out = cooccurrence (input, dir, dist, symmetric);
%
% INPUT:
% input: input matrix of any size
%
% dir: direction of evaluation
% "dir" value Angle
% 0 0
% 1 -45
% 2 -90
% 3 -135
% 4 -180
% 5 +135
% 6 +90
% 7 +45
%
% dist: distance between pixels
%
% symmetric: 1 for symmetric version
% 0 for non-symmetric version
%
% eg: out = cooccurrence (input, 0, 1, 1);
% Author: Baran Aydogan (15.07.2006)
% RGI, Tampere University of Technology
% [email protected]

function out = cooccurrence (input, dir, dist, symmetric);

input = round(input);
[r c] = size(input);

min_intensity = min(min(input));
max_intensity = max(max(input));

out = zeros(max_intensity-min_intensity+1);
if (dir == 0)
dir_x = 0; dir_y = 1;
end

if (dir == 1)
dir_x = 1; dir_y = 1;
end

if (dir == 2)
dir_x = 1; dir_y = 0;
end

if (dir == 3)
dir_x = 1; dir_y = -1;
end

if (dir == 4)
dir_x = 0; dir_y = -1;
end

if (dir == 5)
dir_x = -1; dir_y = -1;
end

if (dir == 6)
dir_x = -1; dir_y = 0;
end

if (dir == 7)
dir_x = -1; dir_y = 1;
end

dir_x = dir_x*dist;
dir_y = dir_y*dist;

out_ind_x = 0;
out_ind_y = 0;

for intensity1 = min_intensity:max_intensity
out_ind_x = out_ind_x + 1;
out_ind_y = 0;

[ind_x1 ind_y1] = find (input == intensity1);
ind_x1 = ind_x1 + dir_x;
ind_y1 = ind_y1 + dir_y;

for intensity2 = min_intensity:max_intensity
out_ind_y = out_ind_y + 1;

[ind_x2 ind_y2] = find (input == intensity2);

count = 0;

for i = 1:size(ind_x1,1)
for j = 1:size(ind_x2,1)
if ( (ind_x1(i) == ind_x2(j)) && (ind_y1(i) == ind_y2(j)) )
count = count + 1;
end
end
end

out(out_ind_x, out_ind_y) = count;

end
end

if (symmetric)

if (dir < 4)
dir = dir + 4;
else
dir = mod(dir,4);
end
out = out + cooccurrence (input, dir, dist, 0);
end

‘贰’ 如何将图片中的文字提取出来,再将自己的文字嵌进去

PS就可以做到。。
先用橡皮给擦掉日文的,然后用仿复章工具把背景复制成一样。最后添加你自己要的文字!!!1

‘叁’ 怎样提取图片里的文字背景色是白色的

1.按i键,选取字体颜色.
2.选择--色彩范围.
3在调整一下就可以了

‘肆’ 怎么把图片里的文字提取出来

用软件可以将图片里的文字提取出来。

将图片转换成文字在没有文字识别软件的时候可能会比较的麻烦,但是现在有很多的文字识别软件,所以想要将图片转换成文字根本不是事儿。

迅捷PDF转换器作为一款专业实用的文件格式转换器,不仅可完成PDF转Word、PPT在内的多种文档格式相互转换,还可解决PDF压缩、拍照翻译、图片转文字识别、语音翻译、语音转换文字等常见问题,稳定的性能及专业的文件格式处理系统,使迅捷PDF转换器成为办公学习的必备工具!

更多问题欢迎咨询互盾客服!

‘伍’ 如何处理大量的彩色的带有文字的图片,提取文字。

1、如果有PDF格式文件,且文字没有栅格化,可用adobe Illustrator、adobe Reader、adobe Acrobat等软件直接打开,复制文字。
2、如果有PDF格式文件,文字已经栅格化或已经成为图片,且图片分辨率较高,可以OCR之类的软件自动识别文字(但仍需手人工校对)
3、如果只有图片,且图片分辨率不高,此情况下文字识别软件识别率太低,不如直接打字来得快。

‘陆’ 如何将图片中的文字提取然后做成图标

使用尚书7号,专门扫描图片上的文字,然后转换成文本.

‘柒’ 如何将图片中的文字提取出来

如果是单纯的底色
就用PHOTOSHOP
先把底色选种
然后反选一次
这个样子所有于底色颜色有差别的文字就全出来了

、首先使用SnagIt的文字捕捉功能将文字提取出来。SnagIt当前版本为7.02,大小为8903KB,下载地址可以在http://www.skycn.com/soft/2290.html找到,汉化补丁可以在http://www.skycn.com/soft/2291.html找到。启动SnagIt,选择菜单“输入/区域”,选择菜单“工具/文字捕获”,然后我们打开要捕捉的文件窗口,按下捕捉快捷键,选定捕捉区域即可捕捉到文字。

接着用相应工具重排文字。此时我们发现提取的文字可能会有很多空格或段落错乱等现象,而且字号、字体等不合自己的心意。这时我们可以用熟悉的WPS或Word软件进行重新编排。我们以WPSOffice2003为例看看如何对付提取后文章的编排。

用WPSOffice2003打开提取文章;然后选择“工具”菜单下的“文字”/“段落重排”,这时你会看到提取文章重新进行排版;接下来选择“工具”菜单下的“文字”/“删除段首空格”命令,使得文章的每段参差不齐的行首空格被删除;再选择“工具”菜单下的“文字”/“增加段首空格”,文章变为正常的书写格式;提取文章一般都留有空段,为删除这些空段,继续选择“工具”菜单下的“文字”/“删除空段”命令,这时文章完全变为我们所要的形式;用你熟悉的界面任意编辑文章吧。

2、用OCR软件可以识别图片中的文字,但要求图片中文字清晰,最好是整块整块的。
这类软件很多,如尚书OCR,清华OCR等。

‘捌’ 如何用c++编程实现提取给定图像中任意一点的RGB颜色值

控制台 读取BMP图片文件 输出指定点的颜色分量

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

typedef unsigned long DWORD;
typedef int BOOL;
typedef unsigned char BYTE;
typedef unsigned short WORD;

typedef struct tagBITMAPINFOHEADER{
DWORD biSize;
long biWidth;
long biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
long biXPelsPerMeter;
long biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;

int ReadBmp(const char* szFileName);
int GetDIBColor(int X, int Y, BYTE *r, BYTE *g, BYTE *b);

BITMAPINFOHEADER bih;
BYTE *Buffer = NULL;
long LineByteWidth;

int main(void)
{
int x, y;
BYTE r, g, b;
int n;
char szfilename[255] = "c:\\1.bmp";

if (ReadBmp(szfilename) == 0)
{
printf("failure to read file %s", szfilename);
return 1;
}

printf("Width: %ld\n", bih.biWidth);
printf("Height: %ld\n", bih.biHeight);
printf("BitCount: %d\n\n", (int)bih.biBitCount);

while(1)
{
printf("input the X:");
scanf("%d", &x);
if (x < 0)
break;
printf("input the Y:");
scanf("%d", &y);

if (GetDIBColor(x, y, &r, &g, &b) == 1)
printf("(%d, %d): r:%d, g:%d, b:%d\n", x, y, (int)r, (int)g, (int)b);
else
printf("input error.\n");
}

free(Buffer);
return 0;
}

int ReadBmp(const char* szFileName)
{
FILE *file;
WORD bfh[7];
long dpixeladd;

if (NULL == (file = fopen(szFileName, "rb")))
{
return 0;
}
printf("%s\n", szFileName);

fread(&bfh, sizeof(WORD), 7, file);
if (bfh[0] != (WORD)(((WORD)'B')|('M'<<8)))
{
fclose(file);
return 0;
}

fread(&bih, sizeof(BITMAPINFOHEADER), 1, file);

if (bih.biBitCount < 24)
{
fclose(file);
return 0;
}

dpixeladd = bih.biBitCount / 8;
LineByteWidth = bih.biWidth * (dpixeladd);
if ((LineByteWidth % 4) != 0)
LineByteWidth += 4 - (LineByteWidth % 4);

if ((Buffer = (BYTE*)malloc(sizeof(BYTE)* LineByteWidth * bih.biHeight)) != NULL)
{
fread(Buffer, LineByteWidth * bih.biHeight, 1, file);

fclose(file);
return 1;
}

fclose(file);
return 0;
}

int GetDIBColor(int X, int Y, BYTE *r, BYTE *g, BYTE *b)
{
int dpixeladd;
BYTE *ptr;
if (X < 0 || X >= bih.biWidth || Y < 0 || Y >= bih.biHeight)
{
return 0;
}

dpixeladd = bih.biBitCount / 8;
ptr = Buffer + X * dpixeladd + (bih.biHeight - 1 - Y) * LineByteWidth;

*b = *ptr;
*g = *(ptr + 1);
*r = *(ptr + 2);

return 1;
}

‘玖’ word里怎么提取图片里文字的颜色

利用qq的截屏可以查看rgb颜色代码

‘拾’ ps6,怎么提取图片的颜色到字体上

利用吸管工具吸取图片所需颜色,并设置为前景色。把文字选做选区,填充前景色。文字就完成了颜色转换。

阅读全文

与如何编程图片颜色文字提取相关的资料

热点内容
qq电脑版如何放大图片 浏览:833
粪金龟怎么画图片 浏览:202
动漫萌女孩的图片 浏览:656
帅气图片qq头像男生 浏览:73
冰雪奇缘1爱莎图片高清 浏览:558
word两栏格式插入图片 浏览:30
图片中的线段如何去掉 浏览:120
女生照顾众生图片 浏览:691
院子木门图片大全 浏览:129
微恐怖动漫图片 浏览:45
动漫炫耀图片 浏览:872
画画动漫图片男 浏览:543
男生依靠在女生怀里的图片 浏览:110
可爱女生壁纸粉红色系卡通图片 浏览:672
银狐宠物狗图片大全 浏览:692
word图片编号乱码 浏览:141
送给迷茫的自己文字图片 浏览:47
超级粘土制作图片大全简单 浏览:691
冬天美女睡觉图片 浏览:70
江南游翁图片高清 浏览:905