Alex 'AdUser' Z
10 years ago
2 changed files with 0 additions and 89 deletions
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation; either version 2 of the License, or |
||||
* (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Library General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program; if not, write to the Free Software |
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA |
||||
*/ |
||||
|
||||
#include "common.h" |
||||
#include <magick/api.h> |
||||
#include "database.h" |
||||
#include "image.h" |
||||
|
||||
int image_load(image_t *img, const char *path) |
||||
{ |
||||
ExceptionInfo ex; |
||||
|
||||
GetExceptionInfo(&ex); |
||||
|
||||
img.info = CloneImageInfo((ImageInfo *) NULL); |
||||
strcpy(img.info->filename, argv[1]); |
||||
|
||||
img.data = ReadImage(img.info, &ex); |
||||
|
||||
if (ex.severity != UndefinedException) |
||||
CatchException(&ex); |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
int image_sample(rec_t *sample, image_t *img) |
||||
{ |
||||
ExceptionInfo ex; |
||||
QuantizeInfo qi; |
||||
|
||||
ImageInfo info; |
||||
Image *sampled; |
||||
Image *blurred; |
||||
|
||||
GetExceptionInfo(&ex); |
||||
|
||||
memset(img, 0x0, sizeof(image_t)); |
||||
|
||||
sampled = SampleImage(img.data, 160, 160, &ex); |
||||
|
||||
GetQuantizeInfo(&qi); |
||||
QuantizeImage(&qi, sampled) |
||||
|
||||
blurred = BlurImage(sampled, 3.0, 99, &ex); /* reduce sigma? */ |
||||
DestroyImage(sampled); |
||||
|
||||
ret = GetImageStatistics(blurred, &stat, &ex); |
||||
|
||||
NormalizeImage(blurred); |
||||
EqualizeImage(blurred); |
||||
|
||||
sampled = SampleImage(img.data, 16, 16, &ex); |
||||
DestroyImage(blurred); |
||||
|
||||
ret = ThresholdImage(sampled, /* const double threshold */ 0); |
||||
|
||||
GetImageInfo(&info); |
||||
|
||||
SetImageAttribute(sampled, "magick", "mono"); |
||||
SetImageType(sampled, BilevelType); |
||||
(sample.data + OFF_BITMAP) = ImageToBlob(&info, sampled, BITMAP_SIZE, &ex); |
||||
|
||||
return 0; |
||||
} |
Loading…
Reference in new issue