Java 图像识别 数字图像处理 从一张JPG图片中识别出若干黑色小方块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 图像识别 数字图像处理 从一张JPG图片中识别出若干黑色小方块相关的知识,希望对你有一定的参考价值。
求高手赐教,推销毕业设计的免进
想从一张Jpg图像中识别出若干黑色区域,用于对答题卡的涂卡部分进行自动算分。
求高手介绍相关java技术,如何实现,求想法思路,交流。
可以查阅相关的API。
java图像处理技术在《java核心技术8 下卷》中有比较详细的介绍。
相关技术要求和注意事项:RGB标准、ICC配置特性、
建议如果进行像素识别的话可以选取关键点的识别方式、而且确认像素是否符合要求使用RGB的范围识别而非精确识别。
至于具体的识别操作过程,需要你详细定义开始识别的位置标准(规定的或者识别图像获取)、边界标准、大小(识别块得SIZE)、分组(给识别块确定属性)等追问
谢谢你的回答,我要做的是对答题卡的主观题进行自动判分,先将答题卡扫面,生成Jpg图像,然后对客观题(选择题,包括其他涂卡部分)进行自动处理,主观题部分(简答题)进行图像截取,进行人工给分,其中有个困难是扫面出来的图像可能出现局部的偏移。望多指教!
追答对于可能出现的偏移,我的建议是:
①成像时避免,可以用图像工具PS下,只留下有效的绘图区域,比较简单。
②识别图像获取开始扫描的起始位置和结束位置确定扫描的矩形范围。
如何在matlab中从一组图像中制作gif图像?
如何在matlab中从一组'.jpg'图像(例如:I1.jpg,I2.jpg,...,I10.jpg)制作'.gif'图像?
答案
好的,这是一个简单的例子。我得到了一张带有独角兽的图像并删除了2部分以创建3个不同的图像,只是为了创建一个GIF动画。这是它的样子:
clear
clc
%// Image source: http:\giantbomb.com
A = rgb2gray(imread('Unicorn1.jpg'));
B = rgb2gray(imread('Unicorn2.jpg'));
C = rgb2gray(imread('Unicorn3.jpg'));
ImageCell = {A;B;C};
figure;
subplot(131)
imshow(A)
subplot(132)
imshow(B)
subplot(133)
imshow(C)
%// Just to show what the images look like (I removed spots to make sure there was an animation created):
%// Create file name.
FileName = 'UnicornAnimation.gif';
for k = 1:numel(ImageCell)
if k ==1
%// For 1st image, start the 'LoopCount'.
imwrite(ImageCell{k},FileName,'gif','LoopCount',Inf,'DelayTime',1);
else
imwrite(ImageCell{k},FileName,'gif','WriteMode','append','DelayTime',1);
end
end
如您所见,它与Mathworks网站上的示例没有什么不同。这里我的图像是在一个单元格数组中,但你的图像可能是一个常规数组或其他东西。这应该工作正常;当我打开'UnicornAnimation.gif'时,它确实是一个很好的动画!
希望有所帮助!
以上是关于Java 图像识别 数字图像处理 从一张JPG图片中识别出若干黑色小方块的主要内容,如果未能解决你的问题,请参考以下文章