Privacy

Chào các bạn.

Mình thành lập website này với mục đích chia sẻ các kiến thức và kinh nghiệm với các bạn trẻ yêu thích điện tử, tin học, tự động hóa, … do đó mình viết hoàn toàn không có mục đích thương mại nhưng theo một nguyên tắc rõ ràng, tôi khẳng định việc sử dụng một phần hoặc toàn bộ một, nhiều hoặc toàn bộ nội dung các bài viết trong blog của tôi (bao gồm cả các góp ý của bạn đọc) phải được sử dụng cho mục đích phi lợi nhuận.

Nếu các đơn vị nào muốn sử dụng chúng cho mục đích thương mại, đặc biệt là các tờ báo mang tính chất thương mại, hợp pháp, yêu cầu phải liên hệ với tôi để được phép đăng lại.

Khi trích dẫn một phần hoặc toàn bộ bài viết (bao gồm cả các góp ý của bạn đọc) yêu cầu ghi rõ trích dẫn từ http://www.ngohaibac.net

Các bài viết của website có sử dụng nguồn của các website khác đều có trích dẫn sau mỗi bài viết.

Các tài liệu, phần mềm được chia sẻ có thể có yêu cầu bản quyền, tuy nhiên tôi nghĩ nên chia sẻ các công cụ đó cho sinh viên Việt Nam để học tốt hơn.

Chúc các bạn thành công.

{ 39 comments… read them below or add one }

1 Bình Anh August 31, 2009 at 8:27 am

Chào em
Hiện tại anh sắp xây dựng Thiết bị báo thời gian xe buýt sắp tới tại các điểm dừng xe Buýt. Tại mỗi điểm dừng, có bảng hiển thị giờ mà các tuyến xe bus sắp đi tới.
Anh có trao đổi với anh Hiệp thì các nước đều đã có vấn đề này như: Pháp, Đức, Hà Lan, Hàn Quốc… và rất phổ biến.
Về giải pháp thì không vấn đề gì vì anh đã có sản phẩm ứng dụng rồi. Tuy nhiên về mẫu mã các thiết bị đó, anh cần tham khảo 1 số mẫu.
Nếu em có thể, em chụp cho anh một vài ảnh của thiết bị này ở Hàn Quốc. Chụp tổng thể, chụp mặt hiển thị là 2 ảnh anh cần nhất.
Rất cần em ủng hộ và giúp đỡ anh trong việc này nếu có thể
Cảm ơn em

Reply

2 ngohaibac August 31, 2009 at 8:31 am

Được anh ạ, khi nào em đi ra ra tỉnh em vác máy ảnh theo rồi chụp cho anh nhé. Tại vì trường em ở vùng xa xôi quá, nên phải mất gần 1 tiếng mới ra đến mấy cái chỗ ăn chơi cơ :) .

Chúc anh thành công.

Reply

3 VINH October 7, 2009 at 10:01 pm

chào anh hải .
anh có tài liệu hướng dẫn về ARM không ạ.
em đang tìm hiểu về nó, nghe nói bên hàn quốc rất phổ biến cái đó phải không a.
xin cam ơn nhiều.

Reply

4 thaongoc November 16, 2009 at 10:11 pm

Em muốn hỏi anh về xử lý ảnh bằng matlab. Em dùng wedcam để nhận ảnh thay vì em phải tạo giao diện gui để chụp ảnh bằng cách thao tác bằng chuột nhưng em muốn dùng hàm trong matlab để điều khiển cho webcam tự động chụp.
Nếu không được thì anh chỉ dùm em cách webcam giao tiếp với máy tính qua cổng máy in bởi vì cổng com em đã kết nối với plc
Cám ơn anh nhiều

Reply

5 ngohaibac November 17, 2009 at 7:35 pm

Chào em.

Vấn đề này anh chưa từng làm bao giờ cả, có chăng sẽ phải tìm hiểu thêm mới làm được. Anh toàn dùng Camera CMOS Sensor để làm việc và lấy dữ liệu mà thôi.

Chúc em thành công.

Reply

6 thanh tùng November 23, 2009 at 11:23 am

chào anh ,em đang làm về xử lý ảnh trong matlab ,em muốn hỏi anh về thuật toán đơn giản
đỉnh trong matlab,anh giúp em phần code đươc o,cám ơn anh

Reply

7 ngohaibac November 24, 2009 at 9:35 pm

Thuật toán thế nào em ? Anh không hiểu em muốn demo thuật toán nào ?

Reply

8 toan November 25, 2009 at 2:46 pm

anh hải chỉ dùm em cách nào để đọc liên tục giá trị từ encorder của động cơ DC. Em dùng Matlab đọc dữ liệu từ card PCI 1711 , em sử dụng ngõ vào analog để đọc encorder giống như phần help đã hướng dẫn nhưng chi đọc được một khoảng thời gian thôi ko đọc liên tục được, em muốn đọc liên tục về tính toán để vẽ đồ thị tốc độ của động cơ. Anh chỉ dùm em với

Reply

9 quangcdt December 14, 2009 at 1:41 am

Anh Bắc cho em hỏi một chút về VC++ được không ạh?
em đang làm đồ án về giao tiếp cổng com dung vc++ 2008.
Anh có thể hướng dẫn giúp em cách truyền số hexa xuống cổng COM được không ạh?
truyền dạng text thì em truyền được rồi ạh.
Em rất mong nhận được phản hồi của anh.

Reply

10 ngohaibac December 29, 2009 at 9:40 am

Em post mấy cái câu hỏi này của em lên mục Lập trình C,C++ tại diễn đàn Hocdelam nhé, sẽ có nhiều người giúp em đó. Đợt này a đang bận tẹo em ạ.

http://diendan.hocdelam.org/index.php

Chúc em thành công.

Reply

11 quangcdt January 3, 2010 at 11:26 pm

Em cảm ơn anh nhiều! anh ơi anh sửa giúp em cái lỗi này với:
“Error 7 error LNK2019: unresolved external symbol “public: void __thiscall CMscomm1::SetPortOpen(int)” (?SetPortOpen@CMscomm1@@QAEXH@Z) referenced in function “public: void __thiscall CMy32Dlg::Settings(void)” (?Settings@CMy32Dlg@@QAEXXZ) 32Dlg.obj”

Reply

12 Vanchuongle March 20, 2010 at 9:29 am

Anh Hải ơi! Nhờ anh giúp đỡ em 1 tí về Matlab nhé.
Vấn đề là như thế này:
Em đang là sinh viên, em đang làm đồ án về : Dùng Matlab để chấm công nhân viên.
Vì vậy em đã mua một máy chấm công giao tiếp với PC qua cổng USB nhưng em không biêt dùng lệnh gì trong Matlab để lấy được dữ liệu từ cổng USB và thiết kế giao diện GUIDE để xử lý. Em đang rất cần sự giúp đỡ của anh! Anh có tài liệu gì liên quan đên đề tài của em thì cho em với nhá !Thank anh nhá!

Reply

13 ngohaibac March 26, 2010 at 7:07 pm

Chào em.

Em cần phải xem xét xem khi API của máy đó thế nào, và các hàm mà Matlab hỗ trợ để đọc dữ liệu từ máy chấm công đó. Sau khi test xong thì em mới thiết kế giao diện cho nó. Bản thân GUI cũng phải dùng các hàm bình thường đó em ạ, k có gì cao siêu cả.

Chúc em thành công.

Reply

14 quangcdt December 28, 2009 at 11:47 pm

Anh Bac oi !
sao khong giup em mot chut ah`?

Reply

15 conghien February 2, 2010 at 9:23 pm

Em chao anh!
Em la Hien, cung truong, cung khoa, cung nganh nhung anh truoc em 3 khoa!hihi!
Hien gio em dang tim hieu ve DSPIC!
Anh co the cho em xin it tai lieu ve no!
Cam on anh nhieu!

Reply

16 Nhat trung February 28, 2010 at 1:51 pm

anh hai, em la sinh vien dien tu, em dang lam ” luan van tot nghiep” ve matlap
nội dung nhu sau: MÔ HÌNH NHẬN DẠNG MÃ SỐ NHÂN VIÊN VÀ CHẤM CÔNG DÙNG XỬ LÝ ẢNH.
• nội dung de tai:
 tìm hiểu sử lý ảnh.
 thiết kế mô hình nhận dạng mã NV va chấm công.
 mô phỏng kết quả.
thầy em yêu cầu: em tao một guide cua matlab. giao diện cua matlab gồm co một axes lấy hình từ một camera. nhận dạng ms đưa ra excell chấm công. nội dung em sẽ nói sau nếu anh co thời gian giúp em. mong anh trả lời cho em nhé

Reply

17 nguynvanquang March 20, 2010 at 12:17 am

chao ban !
cho minh hoi ve phan mem matlab de giai bai toan mon ly thuyet mach thi lam nhu the nao vay.cam on ban nhe!

Reply

18 ngohaibac March 26, 2010 at 7:08 pm

Cái đó liên quan đến tính toán ma trận, bạn phải lập ma trận theo lý thuyết, rồi sau đó dùng các phép tính Matrix mà Matlab hỗ trợ để giải quyết bạn ạ.

Chúc bạn thành công.

Reply

19 nguyenvanquang March 24, 2010 at 2:46 am

chao ban !
cho minh hoi chut ve vi dieu khien voi minh ko sao phan tich dc de bai va phai bat dau tu dau .

Reply

20 Nhat trung March 28, 2010 at 12:36 pm

chao anh bac, em dang lam luan van tot nghiep ve nhan dang ma so nhan vien va cham cong tu camera, anh co code ko share cho em voi, cam on anh

Reply

21 ngohaibac March 28, 2010 at 1:14 pm

Chào em.

Anh không có code gì cả. Với lại nếu anh đưa code cho em, thì em học được gì từ đồ án của em ? Vì thế nên cách tốt nhất là tìm hiểu về yêu cầu đồ án và hỏi thấy hướng dẫn rồi vạch ra các bước cần thực hiện, từ đó, có khó khăn gì về từng bước thực hiện thì mới đi hỏi sự trợ giúp được em ạ.

Chúc em thành công.

Reply

22 Nhat trung April 1, 2010 at 11:08 am

em hieu roi anh oi, nhưng em gặp một sự cố mong anh giup em nhé, em tạo một axes để chụp từ wc , rồi đưa vào axes để xử lý tiếp nhưng ko được, mong anh giúp đỡ. đoạn code của em nè nhung em chạy nó báo một số lỗi, anh giúp em nhé
function A_Callback(hObject, eventdata, handles)
clc
vid = videoinput(‘winvideo’, 1);
%set(vid,’selectedsourcename”,’input1′);
src_vid=getselectedsource(vid);
get(src_vid);
preview(vid);
handles.vid=vid;
guidata(hObject,handles);
%w = waitforbuttonpress;

% hObject handle to A (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
nút A này để mở wc , nó được nhưng em tạo nút B để chụp và đưa vao axes nhung ko được, giúp em đi anh

Reply

23 ngohaibac April 2, 2010 at 8:55 am

Em gửi cái lỗi hiện ở trong Command Window lên anh xem nào.

Reply

24 Nhat trung April 1, 2010 at 10:39 pm

anh bac em lai cho em hoi mot so nua nha, em khoi dong duoc wc roi nhung khi em su dung chup dua vao axes thi no xau qua di, em phai xu lý sao cho hinh anh trung thuc hon, dac biet la em phai tìm ảnh vừa chụp ở đâu, để em dùng nút load image để load hình đó theo yêu cầu của thầy, mong anh giúp đỡ

Reply

25 Nhat trung April 4, 2010 at 7:44 pm

anh bac oi, em lai gap kho nua roi, khi wc em chup no ko giong nhu hinh tren wc, hinh nhu em chua chinh màu sắc, độ rõ nét trong matlab hay sao đó, chụp mờ lắm anh oi, ko phải do wc của em đâu, hình như là mình phải set( cái gi nua phai ko anh), anh chỉ cho em nhé, cảm ơn anh

Reply

26 Nhat trung April 4, 2010 at 7:54 pm

anh bac oi nick chat cua anh la gi vay, cho em voi nhe, anh co so dt ko co gi em goi a, anh dang di lam gi vay

Reply

27 Nhat trung April 5, 2010 at 2:04 pm

em chào anh Bắc, vấn đề cũ em đã giải quyết được rồi nhưng vấn đề mới lại xuất hiện. nếu em chụp hình thẻ nhân viên thì em chỉ cần sử lý trên mã số nhân viên thôi nhưng nếu em sử dụng crop thi ko hay, nếu em muốn tự động hơn thì phải xử lý vùng mã nhân viên thôi, vậy em phải xác định được vùng chứa mã nhân viên,em ko biết làm, anh chỉ em xác định vùng đó được ko, bằng cách nào.

Reply

28 ngohaibac April 5, 2010 at 11:00 pm

Chào em.

Anh nghĩ là có thể thực hiện bằng cách làm sao xác định được object là cái thẻ trước, có hình dạng theo một thể nhất định nào đó: bằng cách lược bỏ các object quá nhỏ, rồi so sánh hình dạng, … anh không nhớ rõ nữa :) Em thử xem nhé.

Chúc em thành công.

Reply

29 Le Dinh Duong April 6, 2010 at 11:46 am

À bạn phải trả về giá trị chuẩn của ảnh là ‘rgb’ thì ảnh sẽ ko bị mờ bạn Nhật Trung.

Reply

30 Nhat trung April 6, 2010 at 5:16 pm

cam on ban nha, minh lam duoc roi.
mình cũng sắp hoàn tất, nhưng 1 vấn đề mình ko biết làm đó là nút( Chấm Công), mình ko biết làm sao, xin các bạn chỉ giúp mình nha, mail minh là: nhattrung21@yahoo.com
function varargout = trunglam(varargin)
% TRUNGLAM M-file for trunglam.fig
% TRUNGLAM, by itself, creates a new TRUNGLAM or raises the existing
% singleton*.
%
% H = TRUNGLAM returns the handle to a new TRUNGLAM or the handle to
% the existing singleton*.
%
% TRUNGLAM(‘CALLBACK’,hObject,eventData,handles,…) calls the local
% function named CALLBACK in TRUNGLAM.M with the given input arguments.
%
% TRUNGLAM(‘Property’,'Value’,…) creates a new TRUNGLAM or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before trunglam_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to trunglam_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE’s Tools menu. Choose “GUI allows only one
% instance to run (singleton)”.
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help trunglam

% Last Modified by GUIDE v2.5 06-Apr-2010 15:21:25

% Begin initialization code – DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @trunglam_OpeningFcn, …
‘gui_OutputFcn’, @trunglam_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code – DO NOT EDIT

% — Executes just before trunglam is made visible.
function trunglam_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to trunglam (see VARARGIN)

% Choose default command line output for trunglam
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes trunglam wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% — Outputs from this function are returned to the command line.
function varargout = trunglam_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;
% — Executes on button press in LoadImage.
function LoadImage_Callback(hObject, eventdata, handles)
[filename, pathname] = uigetfile({‘*.bmp’;'*.jpg’;'*.gif’;'*.*’}, ‘Pick an Image File’);
S = imread([pathname,filename]);
axes(handles.axes1);
imshow(S);
handles.S = S;
guidata(hObject, handles);
% hObject handle to LoadImage (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in select.
function select_Callback(hObject, eventdata, handles);
S = handles.S;
axes(handles.axes1);
sz = size (S);
handles.hRect = imrect(gca,[round(sz(2)/2) round(sz(1)/2) 20 20]);
handles.api = iptgetapi (handles.hRect);
guidata(hObject, handles);

% hObject handle to select (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in Crop.
function Crop_Callback(hObject, eventdata, handles)
handles.loc = handles.api.getPosition();
S = handles.S;
handles.img_crop = imcrop(S,handles.loc);
axes(handles.axes2);
I = handles.img_crop;
imshow (I);
handles.I = I;
guidata(hObject, handles);
% hObject handle to Crop (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in taonhieu.
function taonhieu_Callback(hObject, eventdata, handles)
I = handles.I;
imagen = I;
if size (imagen,3)==3
imagen=rgb2gray(imagen);
end
J = imnoise (imagen,’salt & pepper’,0.05);

axes(handles.axes3);
imshow(J);
handles.J=J;
guidata(hObject, handles);

% hObject handle to taonhieu (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in nhandang.
function NhanDang_Callback(hObject, eventdata, handles)
I = handles.K;
h=imhist(I);
h1=h(1:10:256);
horz = 1:10:256;
axes (handles.axes5);
bar(horz,h1);
imagen = I;
threshold = graythresh(imagen);
imagen =~im2bw(imagen,threshold);
axes (handles.axes6);
imshow(imagen);

imagen = bwareaopen(imagen,50);
word=[ ];
a=[ ];
re=imagen;
load templates
global templates
num_letras = size(templates,2);

while 1
[fl re]=lines(re);
imgn=~fl;

[L Ne]=bwlabel(imgn);
for n=1:Ne
[r,c] = find(L==n);
n1=imgn(min(r):max(r),min(c):max(c));
img_r=imresize(n1,[42 24]);
letter=read_letter(img_r,num_letras);
word = [word letter];

a=[a img_r];
end
axes(handles.axes7);
imshow(a);

set(handles.text1,’string’,word);

if isempty(re)
break
end
end

% hObject handle to nhandang (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

function letter=read_letter(imagn,num_letras)
% Computes the correlation between template and input image
% and its output is a string containing the letter.
% Size of ‘imagn’ must be 42 x 24 pixels
% Example:
% imagn=imread(‘D.bmp’);
% letter=read_letter(imagn)
global templates
comp=[ ];
for n=1:num_letras
sem=corr2(templates{1,n},imagn);
comp=[comp sem];
end
vd=find(comp==max(comp));
%*-*-*-*-*-*-*-*-*-*-*-*-*-
if vd==1
letter=’A';
elseif vd==2
letter=’B';
elseif vd==3
letter=’C';
elseif vd==4
letter=’D';
elseif vd==5
letter=’E';
elseif vd==6
letter=’F';
elseif vd==7
letter=’G';
elseif vd==8
letter=’H';
elseif vd==9
letter=’I';
elseif vd==10
letter=’J';
elseif vd==11
letter=’K';
elseif vd==12
letter=’L';
elseif vd==13
letter=’M';
elseif vd==14
letter=’N';
elseif vd==15
letter=’O';
elseif vd==16
letter=’P';
elseif vd==17
letter=’Q';
elseif vd==18
letter=’R';
elseif vd==19
letter=’S';
elseif vd==20
letter=’T';
elseif vd==21
letter=’U';
elseif vd==22
letter=’V';
elseif vd==23
letter=’W';
elseif vd==24
letter=’X';
elseif vd==25
letter=’Y';
elseif vd==26
letter=’Z';
%*-*-*-*-*
elseif vd==27
letter=’1′;
elseif vd==28
letter=’2′;
elseif vd==29
letter=’3′;
elseif vd==30
letter=’4′;
elseif vd==31
letter=’5′;
elseif vd==32
letter=’6′;
elseif vd==33
letter=’7′;
elseif vd==34
letter=’8′;
elseif vd==35
letter=’9′;
elseif vd==36
letter=’0′;
else
letter=’-';
end

% — Executes during object creation, after setting all properties.
function text1_CreateFcn(hObject, eventdata, handles)
% hObject handle to text1 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles empty – handles not created until after all CreateFcns called

function [fl re]=lines(im_texto)
% Divide text in lines
% im_texto->input image; fl->first line; re->remain line
% Example:
% im_texto=imread(‘TEST_3.jpg’);
% [fl re]=lines(im_texto);
% subplot(3,1,1);imshow(im_texto);title(‘INPUT IMAGE’)
% subplot(3,1,2);imshow(fl);title(‘FIRST LINE’)
% subplot(3,1,3);imshow(re);title(‘REMAIN LINES’)
im_texto=clip(im_texto);
num_filas=size(im_texto,1);
for s=1:num_filas
if sum(im_texto(s,:))==0
nm=im_texto(1:s-1, :) ; % First line matrix
rm=im_texto(s:end, :) ;% Remain line matrix
fl = ~clip(nm);
re=~clip(rm);
%*-*-*Uncomment lines below to see the result*-*-*-*-
% subplot(2,1,1);imshow(fl);
% subplot(2,1,2);imshow(re);
break
else
fl=~im_texto;%Only one line.
re=[ ];
end
end

function img_out=clip(img_in)
[f c]=find(img_in);
img_out=img_in(min(f):max(f),min(c):max(c));%Crops image

%thu
%CREATE TEMPLATES
%Letter
function letters_numbers
A=imread(‘letters_numbers\A.bmp’);B=imread(‘letters_numbers\B.bmp’);
C=imread(‘letters_numbers\C.bmp’);D=imread(‘letters_numbers\D.bmp’);
E=imread(‘letters_numbers\E.bmp’);F=imread(‘letters_numbers\F.bmp’);
G=imread(‘letters_numbers\G.bmp’);H=imread(‘letters_numbers\H.bmp’);
I=imread(‘letters_numbers\I.bmp’);J=imread(‘letters_numbers\J.bmp’);
K=imread(‘letters_numbers\K.bmp’);L=imread(‘letters_numbers\L.bmp’);
M=imread(‘letters_numbers\M.bmp’);N=imread(‘letters_numbers\N.bmp’);
O=imread(‘letters_numbers\O.bmp’);P=imread(‘letters_numbers\P.bmp’);
Q=imread(‘letters_numbers\Q.bmp’);R=imread(‘letters_numbers\R.bmp’);
S=imread(‘letters_numbers\S.bmp’);T=imread(‘letters_numbers\T.bmp’);
U=imread(‘letters_numbers\U.bmp’);V=imread(‘letters_numbers\V.bmp’);
W=imread(‘letters_numbers\W.bmp’);X=imread(‘letters_numbers\X.bmp’);
Y=imread(‘letters_numbers\Y.bmp’);Z=imread(‘letters_numbers\Z.bmp’);
%Number
one=imread(‘letters_numbers\1.bmp’); two=imread(‘letters_numbers\2.bmp’);
three=imread(‘letters_numbers\3.bmp’);four=imread(‘letters_numbers\4.bmp’);
five=imread(‘letters_numbers\5.bmp’); six=imread(‘letters_numbers\6.bmp’);
seven=imread(‘letters_numbers\7.bmp’);eight=imread(‘letters_numbers\8.bmp’);
nine=imread(‘letters_numbers\9.bmp’); zero=imread(‘letters_numbers.bmp’);
%*-*-*-*-*-*-*-*-*-*-*-
letter=[A B C D E F G H I J K L M...
N O P Q R S T U V W X Y Z];
number=[one two three four five...
six seven eight nine zero];
character=[letter number];
templates=mat2cell(character,42,[24 24 24 24 24 24 24 ...
24 24 24 24 24 24 24 ...
24 24 24 24 24 24 24 ...
24 24 24 24 24 24 24 ...
24 24 24 24 24 24 24 24]);
save (‘templates’,'templates’)

% — Executes on button press in locnhieu.
function locnhieu_Callback(hObject, eventdata, handles)
J=handles.J

J = medfilt2(J,[3 3]);
axes(handles.axes4);
imshow(J);
handles.K=J;
guidata(hObject, handles);
% hObject handle to locnhieu (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in webcam.
function webcam_Callback(hObject, eventdata, handles)
a=get(handles.webcam,’string’);
axes(handles.axes1);
dev_info = imaqhwinfo(‘winvideo’,1);
celldisp(dev_info.SupportedFormats);
obj = videoinput(‘winvideo’,1);
set(obj,’SelectedSourceName’,'input1′);
set(obj,’ReturnedColorSpace’,'rgb’);
src_obj = getselectedsource(obj);
get(src_obj);
preview(obj);
W = waitforbuttonpress;
S=getsnapshot(obj);
%S1=getdata(S);
imshow(S);

%axes(handles.axes1);
closepreview(obj);
closepreview

handles.S=S;
guidata(hObject,handles);
% hObject handle to webcam (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in Chamcong.
function Chamcong_Callback(hObject, eventdata, handles)
%channel=ddeinit(‘excell’,'DT.xls’);
%bus=ddereq(channel,’A2:D3′)
data=xlsread(‘DT.xls’);
%maso=maA(1)*10^1+maA(2)*10^0;
songay=0
sotien=30000;
sprintf(‘so ngay lam:%d’,songay+1)
sprintf(‘so tien la:%d’,sotien*(songay+1))
%sprintf(‘ma so:%d’,'string’,maA)
for n=1:2
quet=data(n);
dattab1 = ['C' num2str(n+1)];
dattab2 = ['D' num2str(n+1)];
end
if isequal(quet,maso)
xlswrite(‘ds.xls’, songay+1, ‘sheet1′, dattab1);
xlswrite(‘ds.xls’,sotien*(songay+1) , ‘sheet1′, dattab2);
save;
end

%end
%handles.L=data
%imshow(L)
% hObject handle to Chamcong (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

nút chấm công sai, mong các bạn và các anh chỉ giúp

Reply

31 Nhat trung April 6, 2010 at 5:24 pm

em biet lenh, doc excell , viet vào excell, nhung em ko biet viet sao cho no đúng, cac anh viet giúp em nha

Reply

32 ngohaibac April 7, 2010 at 1:59 am

Em muốn viết vào file Excel như thế nào em ? Và em đã thực hiện như thế nào rồi, mà lại không đúng ?

Reply

33 Nhat trung April 7, 2010 at 9:48 am

em chao anh, ý tưởng đề tài của em là: khi nhận dạng được mã số nhân viên, ta chấm công cho nhân viên đó.
1. nếu có mặt thì ngày đi làm:+1,
nói chung là người đi làm tới tháng có bao nhiêu người đi làm thi tới tháng lãnh lương thôi.
theo anh em phai lam bảng excel như thế nào. tối nay 7/4 mong gặp anh

Reply

34 ngohaibac April 7, 2010 at 2:30 pm

Hic, cái đó em đi hỏi ở chỗ công ty xem họ hay tổ chức bảng báo cáo đó ra sao để làm theo đúng form cho pro em ạ :D . Anh dạo này đang rất bận làm vài cái khác nên k rảnh chát chit đâu em, có chăng chỉ lúc 12h đêm về nhà ngủ thì chát tí thôi :D

Chúc em thành công.

Reply

35 Nhat trung April 7, 2010 at 2:49 pm

em gui cho anh file , anh giup em voi nha, file excel

Reply

36 Nhat trung April 8, 2010 at 2:08 pm

anh cho em hỏi một vấn đề nhé, khi dùng ocr để nhận dạng kí tự, rồi dùng set(handles.text1,’string’,word); để hiện thị lên text, vậu em muốn chuyển kí tự đó thành số để làm nút chấm công thì phải làm sao

Reply

37 ngohaibac April 8, 2010 at 3:58 pm

Em dùng hàm str2num. Xem thêm tại đây

Reply

38 Nhat trung April 9, 2010 at 11:13 am

anh bac cho em hoi 1 vấn đề nha; nếu em xuất ra excel dùng xlswrite, nhưng em phai lam sao khi có msnv ==08274121 thi ngày1 đánh dấu số 1,nếu ngày 1 có số 1 rồi thì ngày 2 được đánh dấu số 1, cứ thế tới ngày 31. mỗi lần đánh dấu chỉ được một ngày thôi, em làm sao mà mỗi lần nhấn ngày nào cũng bị đánh.

Reply

39 Nhat trung April 27, 2010 at 9:29 pm

anh bac cho em hoi tai sao minh phai tạo imnoise trong matlab rồi sau đó lọc để nhận dạng kí tự
mình tạo nhiễu để làm gì vậy anh,

Reply

Leave a Comment