موضوع: ...

... 3 روز 11 ساعت ago #22167

  • DrRezayee
  • آواتار DrRezayee
  • آفلاين
  • Fresh Boarder
  • ارسال ها: 3
  • امتياز: 0
...
آخرين ويرايش: 16 ساعت 58 دقيقه ago توسط DrRezayee.
مدير دسترسي عمومي براي نوشتن را غيرفعال كرده است.

scale , shearly , rotation کار بدون استفاده از تاب 3 روز 8 ساعت ago #22168

  • admin
  • آواتار admin
  • آفلاين
  • Administrator
  • ارسال ها: 23
  • تشکر دریافت شد 4
  • امتياز: 0
DrRezayee نوشته:
سلام و خسته نباشید اگه کسی به صورت دستی برای این توابع کد نوشته لطفا کمک کنه .. چطور میشه عکسی رو Scale , shearly , rotation کرد بدون استفاده از توابع و با استفاده از ماتریکس اماده در متلب . لطفاااااا کمک کنید

من کد زیر رو توی سایت freesourcecode پیدا کردم. مثل این احتمالا با یک سرچ سریع زیاد پیدا کنی. این کد برای چرخش تصویر هست. در نظر داشته باش که کافیه توی ویکیپدیا یا سایت های دیگه فرمول ریاضی رو پیدا کنی و به راحتی میتونی روی پیکسل ها خودت اعمال کنی.
function hasil=imagerotation(img_in,rotDeg);
%IMAGEROTATION Rotate image 
%   IMAGEROTATION rotate an image by any angle in degree. 
%   This is a simple implementation of IMROTATE. 
%   Implementation based on affine transformation matrix.
%   The rotated image is cropped, some pixels are missing
%   Example:
%            imin   = imread('cameraman.tif');
%            imout30 = imagerotation(imin, 30); % rotate image by 30 degree
%            imoutS = imagerotation(imin, 45) % rotate image by 45 degree
%
%Created by Archezus at Yahoo dot Com - 20110318
%Department of Computer Engineering
%University of Indonesia


[row col]=size(img_in);

for i=1:row
    for j=1:col
        xyRot = [i-floor((col+1)/2) -j+floor((row+1)/2)]*[cos(rotDeg*pi/180)  sin(rotDeg*pi/180);-sin(rotDeg*pi/180) cos(rotDeg*pi/180)];
        xRot=round(xyRot(1,1));
        yRot=round(xyRot(1,2));
        
        test=[i j;
        i -j;
        i-floor((col+1)/2) -j+floor((row+1)/2);
        xRot yRot;
        xRot+floor((col+1)/2) floor((row+1)/2)-yRot];
    
        if (1 <=test(5,2)) & (test(5,2)<=row) & (1 <=test(5,1)) & (test(5,1)<=col)
            img_out(j,i)=img_in(test(5,2),test(5,1));
            %disp('good');
        else
            % this is where the cropping happens
            img_out(j,i)=0; % set offside element to zero 
            %disp('bad')
        end
    
    end
end

imshow(img_in); title('original image');
figure; imshow(img_out); title ('rotated image');
truesize(size(img_out)); 
مدير دسترسي عمومي براي نوشتن را غيرفعال كرده است.
كاربر(ان) زير تشكر كردند: DrRezayee

... 1 روز 18 ساعت ago #22169

  • DrRezayee
  • آواتار DrRezayee
  • آفلاين
  • Fresh Boarder
  • ارسال ها: 3
  • امتياز: 0
...
آخرين ويرايش: 16 ساعت 57 دقيقه ago توسط DrRezayee.
مدير دسترسي عمومي براي نوشتن را غيرفعال كرده است.

scale , shearly , rotation کار بدون استفاده از تاب 1 روز 16 ساعت ago #22170

  • admin
  • آواتار admin
  • آفلاين
  • Administrator
  • ارسال ها: 23
  • تشکر دریافت شد 4
  • امتياز: 0
DrRezayee نوشته:
من rotation رو خودم نوشتم برای scale و Shearly میخوام ممنون میشم اگه کمکم کنید

این فایل رو خود سایت mathworks.com گذاشته برای دانلود. image resize یا همون scale هست.
shearly رو تا حالا نشنیدم، یک لینک از تعریفش و توضیحش برام بفرست
پيوست:
مدير دسترسي عمومي براي نوشتن را غيرفعال كرده است.
كاربر(ان) زير تشكر كردند: DrRezayee

ممنون 1 روز 13 ساعت ago #22171

  • DrRezayee
  • آواتار DrRezayee
  • آفلاين
  • Fresh Boarder
  • ارسال ها: 3
  • امتياز: 0
...
آخرين ويرايش: 16 ساعت 58 دقيقه ago توسط DrRezayee.
مدير دسترسي عمومي براي نوشتن را غيرفعال كرده است.
مدت زمان ساخت صفحه: 0.059 ثانیه