May
07
2011
0

3D Watermarking

2002 Yılındı TÜBİTAK-BİLTEN (Yeni adı TÜBİTAK-UZAY) da yaptığım stajda çalışmam olan 3-Boyutlu modele watermark ile ilgili çalışmam.

Dosyalar:
Sunum, Kod

Readme.txt dosyası

3D Watermarking Project
This work is based on the paper “Data Hiding on 3-D Triangle Meshes” by François Cayre and Benoît Macq,
This work is an implementation of this method. The program uses MFC programming capabilities besides STL.

Classes:

* CAboutDlg, CDlgOglApp, CDlgOglDlg are MFC Classes.
* CGlView is OpenGL Display Class
* CCector2 and CVector are used for 3D point and triangles’ vertices handling.
* ObjLoader basically loads on obj file to memory.
* TSPS is the class where algorithm implemented.

for more info contact : teke@ieee.metu….

Yaziyi gonderen in: Teknik |
May
04
2011
0

MATLAB’da Hızlandırma, Parallel For Döngüleri

MATLAB’da For döngüleri yavaş çalışırlar, artık bilgigisayarların çoğu çoklu işlemci desteği ile geliyor, bu kadar işlemci varken bunları kullanmamak olmaz.  Aşağıda küçük bir kod örneği yaptım. Bu örnek normal bir for döngüsünden yavaş çalışıyor ama genel mantığı açıklıyor. C++’da OpenMP ile yapılanın benzerini MATLAB’da da yapıyorsunuz aslında.

  • Gerçekten çok uzun süren bir işlem varsa ve bunlar birbirinden bağımsız çalışıyorsa kullanılabilir.
  • Dışarıda oluşturduğunuz bir matrisin parfor içerinde değerini değiştirmek istediğinizde hata alınıyor, eğer böyle bir şey gerekiyorsa çalışacağınız kolonu bir vektöre kopyalayıp o şekilde çalışmakta fayda var.
  • MATLAB’da Paralel çalışma konfigürasyonu yapmakta fayda var.
  • MATLAB Parallel Processing Toolbox kurulmuş olmalıdır.

Örnekte durum çubuğu ve zaman ölçümü gibi faydalı işlemler içinde bir kaç kod var.

%%parfordemo

M = 8; % kullanılacak thread sayısı
rows = 1000;
cols = 1000;
t_start = tic; % zaman ölçümü başla
h = waitbar(0, 'bekleyiniz');
result = zeros(rows, cols);

parfor (row = 1:rows, M)
%  for row = 1:rows

    curRowVector = result(row, : );
    curRow = row;
    for col = 1:cols
        curRowVector(col) = curRow + col;
    end
    result(row, : ) = curRowVector;
    waitbar(row/rows); % Progress Çubuğu
end

close(h);

t_elapsed = toc(t_start); % zaman ölçümü bitir

fprintf('geçen zaman %.2d \n', t_elapsed);

MATLAB’ın yardım sayfası: http://www.mathworks.com/help/toolbox/distcomp/brb2x2l-1.html

MATLAB’da genel olarak hızlandırma ile ilgili bir sunum: http://people.sc.fsu.edu/~jburkardt/presentations/vt_2010_parfor.pdf

Yaziyi gonderen in: Teknik |

Altyapi WP Temadown Wp Tr Temayapim TheBuckmaker Cevirmen Otel