From: <car...@us...> - 2011-04-28 14:58:16
|
Revision: 8235 http://octave.svn.sourceforge.net/octave/?rev=8235&view=rev Author: carandraug Date: 2011-04-28 14:58:09 +0000 (Thu, 28 Apr 2011) Log Message: ----------- Remove repeated function deriche (m file). There's already C version on the package Modified Paths: -------------- trunk/octave-forge/main/image/inst/imopen.m trunk/octave-forge/main/zenity/inst/zenity_scale.m Removed Paths: ------------- trunk/octave-forge/main/image/inst/deriche.m Deleted: trunk/octave-forge/main/image/inst/deriche.m =================================================================== --- trunk/octave-forge/main/image/inst/deriche.m 2011-04-26 12:49:48 UTC (rev 8234) +++ trunk/octave-forge/main/image/inst/deriche.m 2011-04-28 14:58:09 UTC (rev 8235) @@ -1,134 +0,0 @@ -## -*- texinfo -*- -## @deftypefn {Function File} @var{result} = deriche(@var{img}, @var{alpha}, @var{method}) -## Deriche 2D image gradient using recursive filters. Precessing time is -## independent of alpha. -## taken from: -## Klette, Zamperoni: Handbuch der Operatoren f\xFCr die Bildverarbeitung, vieweg -## 2.Aufl. 1995 pp 224-229 -## algorithm: Deriche R.: Fast algorithms for low-level vision: IEEE Trans. -## PAMI-12 (1990) pp 78-87 -## -## @table @code -## @item @var{img} -## Input image (as matrix of doubles). -## @item @var{alpha} -## Filter paramter (scale). -## @item method -## If 0 (default) magnitude of gradient, and if 1 -## vector gradient (last index 1 for H, 2 for V) -## @end table -## -## Due to the inherent recursive nature of the algorithms the octave -## implementation is rather slow compared to a C implementation although I have -## vectorized it as far as possible at the expense of memory consuption. As a -## side effect the evaluation order had to be modified compared to the Klette / -## Zamperoni approach. (A C Implementation can easily process PAL a video stream in -## realtime on moderate hardware.) -## @end deftypefn - -# (C)opyright Christian Kotz 2006 -# This code has no warrany whatsoever. -# Do what you like with this code as long as you -# leave this copyright in place. -# -# author: Christian Kotz -# date: 11/21/2006 -# version: 0.1 -# -## $Log$ -## Revision 1.4 2007/03/23 16:14:36 adb014 -## Update the FSF address -## -## Revision 1.3 2007/01/02 21:58:38 hauberg -## Documentation is now in Texinfo (looks better on the website) -## -## Revision 1.2 2006/12/08 06:41:30 cocus -## interface changed to match cc implementation. (returns magnitude by default) -## -## Revision 1.1 2006/12/03 10:53:14 cocus -## initial m-file implementetaion. -## -## -## 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 General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; If not, see <http://www.gnu.org/licenses/>. -function result = deriche(img, alpha, method) - -if nargin < 2 - alpha = 1.0 -end - -if nargin < 3 - method = 0 -end - - a = -(1-exp(-alpha))^2; - b1 = -2*exp(-alpha); - b2 = exp(-2*alpha); - a0 = -alpha / (1 - alpha * b1 - b2); - a1 = a0 * (alpha-1)*exp(-alpha); - a2 = a1 - a0 * b1; - a3 = -a0 * b2; - - - [n m] = size(img); - - g_v1 = zeros(n,m); - g_v2 = zeros(n,m); - g_h1 = zeros(n,m); - g_h2 = zeros(n,m); - g_hv = zeros(n,m); - result = zeros(n,m,2); - - for k=3:m - g_v1(:,k) = img(:, k-1) - b1 * g_v1(:,k-1)- b2 * g_v1(:,k-2); - end; - - for k=m-2:-1:1 - g_v2(:,k) = img(:, k+1) - b1 * g_v2(:,k+1)- b2 * g_v2(:,k+2); - end; - - g_hv = a * (g_v1 - g_v2); - - for k=3:n - g_h1(k,:) = a0 * g_hv(k,:) + a1 * g_hv(k-1,:) - b1 * g_h1(k-1,:) - b2 * g_h1(k-2,:); - end; - for k=n-2:-1:1 - g_h1(k,:) = a2 * g_hv(k+1,:) + a3 * g_hv(k+2,:) - b1 * g_h2(k+1,:) - b2 * g_h2(k+2,:); - end; - -result(:,:,1) = g_h1 + g_h2; - - for k=3:n - g_v1(k,:) = img(k-1,:) - b1 * g_v1(k-1,:)- b2 * g_v1(k-2,:); - end; - - for k=n-2:-1:1 - g_v2(k,:) = img(k+1,:) - b1 * g_v2(k+1,:)- b2 * g_v2(k+2,:); - end; - - g_hv = a * (g_v1 - g_v2); - - for k=3:m - g_h1(:,k) = a0 * g_hv(:,k) + a1 * g_hv(:,k-1) - b1 * g_h1(:,k-1) - b2 * g_h1(:,k-2); - end; - for k=m-2:-1:1 - g_h1(:,k) = a2 * g_hv(:,k+1) + a3 * g_hv(:,k+2) - b1 * g_h2(:,k+1) - b2 * g_h2(:,k+2); - end; - -result(:,:,2) = g_h1 + g_h2; - -if (method == 0) - result = sqrt(result(:,:,1).*result(:,:,1)+result(:,:,2).*result(:,:,2)); -end - - Modified: trunk/octave-forge/main/image/inst/imopen.m =================================================================== --- trunk/octave-forge/main/image/inst/imopen.m 2011-04-26 12:49:48 UTC (rev 8234) +++ trunk/octave-forge/main/image/inst/imopen.m 2011-04-28 14:58:09 UTC (rev 8235) @@ -9,33 +9,33 @@ ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. - -## -*- texinfo -*- -## @deftypefn {Function File} @var{B} = imopen (@var{A}, @var{se}) -## Perform morphological opening on a given image. -## The image @var{A} must be a grayscale or binary image, and @var{se} must be a -## structuring element. -## -## The opening corresponds to an erosion followed by a dilation of the image, i.e. -## @example -## B = imdilate(imerode(A, se), se); -## @end example -## @seealso{imdilate, imerode, imclose} -## @end deftypefn - -function retval = imopen(im, se) - ## Checkinput - if (nargin != 2) - print_usage(); - endif - if (!ismatrix(im) || !isreal(im)) - error("imopen: first input argument must be a real matrix"); - endif - if (!ismatrix(se) || !isreal(se)) - error("imopen: second input argument must be a real matrix"); - endif - - ## Perform filtering - retval = imdilate(imerode(im, se), se); - -endfunction + +## -*- texinfo -*- +## @deftypefn {Function File} @var{B} = imopen (@var{A}, @var{se}) +## Perform morphological opening on a given image. +## The image @var{A} must be a grayscale or binary image, and @var{se} must be a +## structuring element. +## +## The opening corresponds to an erosion followed by a dilation of the image, i.e. +## @example +## B = imdilate(imerode(A, se), se); +## @end example +## @seealso{imdilate, imerode, imclose} +## @end deftypefn + +function retval = imopen(im, se) + ## Checkinput + if (nargin != 2) + print_usage(); + endif + if (!ismatrix(im) || !isreal(im)) + error("imopen: first input argument must be a real matrix"); + endif + if (!ismatrix(se) || !isreal(se)) + error("imopen: second input argument must be a real matrix"); + endif + + ## Perform filtering + retval = imdilate(imerode(im, se), se); + +endfunction Modified: trunk/octave-forge/main/zenity/inst/zenity_scale.m =================================================================== --- trunk/octave-forge/main/zenity/inst/zenity_scale.m 2011-04-26 12:49:48 UTC (rev 8234) +++ trunk/octave-forge/main/zenity/inst/zenity_scale.m 2011-04-28 14:58:09 UTC (rev 8235) @@ -1,8 +1,9 @@ ## Copyright (C) 2006 Muthiah Annamalai +## Copyright (C) 2010 Carnë Draug ## ## 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 +## the Free Software Foundation; either version 3 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, @@ -63,9 +64,16 @@ else error("zenity_scale: %s", output); ##kill -9 endif + + + ## In the future, this can be changed to return a file-handle if --print-partial + ## is selected. If so, a pipe can be open with + ## fid = fopen("zenity --scale --print-partial", "r") + ## read = fgets(fid) + ## + ## However, fgets can't read the value currently selected, only the one right + ## before the last selection + + + endfunction -% -%(Shamelessly copied from Søren Hauberg's zenity_calendar). -%zenity --scale --text 'What is in your Wallet' --value 10 --min-value 0 --max-value 100 --step 5 -%zenity_scale('','What is in your Wallet',10,0,100,5) -% \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |