[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd/cvd image_convert.h
From: |
Edward Rosten |
Subject: |
[libcvd-members] libcvd/cvd image_convert.h |
Date: |
Sun, 04 Jan 2009 15:50:08 +0000 |
CVSROOT: /cvsroot/libcvd
Module name: libcvd
Changes by: Edward Rosten <edrosten> 09/01/04 15:50:08
Modified files:
cvd : image_convert.h
Log message:
SubImage for image_conert.
BasicImage prototypes so that wierd-format images can still be
converted.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/image_convert.h?cvsroot=libcvd&r1=1.12&r2=1.13
Patches:
Index: image_convert.h
===================================================================
RCS file: /cvsroot/libcvd/libcvd/cvd/image_convert.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- image_convert.h 28 Feb 2008 00:27:21 -0000 1.12
+++ image_convert.h 4 Jan 2009 15:50:06 -0000 1.13
@@ -32,7 +32,7 @@
// The most general case: one row at a time
template <class From, class To, class Conv=typename
Pixel::DefaultConversion<From,To>::type, int
both_pod=Internal::is_POD<From>::is_pod && Internal::is_POD<To>::is_pod> struct
ConvertImage {
- static void convert(const BasicImage<From>& from, BasicImage<To>& to) {
+ static void convert(const SubImage<From>& from, SubImage<To>& to) {
for (int r=0; r<from.size().y; r++)
Pixel::ConvertPixels<From,To,Conv>::convert(from[r], to[r],
from.size().x);
};
@@ -40,29 +40,36 @@
// The blat case: memcpy all data at once
template <class T> struct ConvertImage<T,T,Pixel::GenericConversion<T,T>,1> {
- static void convert(const BasicImage<T>& from, BasicImage<T>& to) {
+ static void convert(const SubImage<T>& from, SubImage<T>& to) {
memcpy(to.data(), from.data(), from.totalsize() * sizeof(T));
};
};
template <> struct ConvertImage<Rgb<byte>, byte, Pixel::CIE<Rgb<byte>,
byte>, 1> {
- static void convert(const BasicImage<Rgb<byte> >& from,
BasicImage<byte>& to);
+ static void convert(const SubImage<Rgb<byte> >& from, SubImage<byte>&
to);
};
- template<class Conv, class C, class D> void convert_image(const
BasicImage<C>& from, BasicImage<D>& to)
+ template<class Conv, class C, class D> void convert_image(const SubImage<C>&
from, SubImage<D>& to)
{
if (from.size() != to.size())
throw Exceptions::Image::IncompatibleImageSizes(__FUNCTION__);
ConvertImage<C,D,Conv>::convert(from, to);
}
- template<template <class From, class To> class Conv, class C, class D> void
convert_image(const BasicImage<C>& from, BasicImage<D>& to)
+ template<template <class From, class To> class Conv, class C, class D> void
convert_image(const SubImage<C>& from, SubImage<D>& to)
{
if (from.size() != to.size())
throw Exceptions::Image::IncompatibleImageSizes(__FUNCTION__);
ConvertImage<C,D,Conv<C,D> >::convert(from, to);
}
+ template<class C, class D> void convert_image(const SubImage<C>& from,
SubImage<D>& to)
+ {
+ if (from.size() != to.size())
+ throw Exceptions::Image::IncompatibleImageSizes(__FUNCTION__);
+ ConvertImage<C,D>::convert(from, to);
+ }
+
template<class C, class D> void convert_image(const BasicImage<C>& from,
BasicImage<D>& to)
{
if (from.size() != to.size())
@@ -76,14 +83,14 @@
/// @param Conv The conversion to use
/// @param from The image to convert from
/// @ingroup gImageIO
- template<class D, class Conv, class C> Image<D> convert_image(const
BasicImage<C>& from)
+ template<class D, class Conv, class C> Image<D> convert_image(const
SubImage<C>& from)
{
Image<D> to(from.size());
convert_image<Conv>(from, to);
return to;
}
- template<class D, template <class From, class To> class Conv, class C>
Image<D> convert_image(const BasicImage<C>& from)
+ template<class D, template <class From, class To> class Conv, class C>
Image<D> convert_image(const SubImage<C>& from)
{
Image<D> to(from.size());
convert_image<Conv>(from, to);
@@ -95,7 +102,7 @@
/// @param C The source image pixel type
/// @param from The image to convert from
/// @ingroup gImageIO
- template<class D, class C> Image<D> convert_image(const BasicImage<C>& from)
+ template<class D, class C> Image<D> convert_image(const SubImage<C>& from)
{
Image<D> to(from.size());
convert_image(from, to);
- [libcvd-members] libcvd/cvd image_convert.h,
Edward Rosten <=