Tổng quan về hàm Callback trong lập trình GUI

Sau khi các bạn tạo cái giao diện đã xong thì đến phần lập trình rất quan trọng, chính là lập trình các hành vi của các điều khiển để đáp ứng lại các sự kiện như nhấn phím, kéo thanh trượt, khi chọn menu, ... đó chính là các hàm Callback (giống như các hàm sự kiện trong Visual Basic).

Thế nào là hàm Callback ?

Callback là một hàm mà các bạn viết miêu tả hành vi của một thành phần GUI xác định hoặc là của chính GUI figure, điều khiển các hành vi của chúng bằng cách thực hiện một số hành động được viết trong hàm, để đáp ứng lại một sự kiện của chính thành phần đó. Cách lập trình này thường gọi là : Lập trình lái sự kiện (event driven programming).

Ví dụ, khi bạn nhấn một Button thì vẽ đồ thị đúng không ?? Vậy thì khi nhấn phím thì hiển nhiên đã gọi hàm Callback nhấn phím của Button đó, và trong hàm Callback này có lệnh vẽ đồ thị rồi.

Các loại hàm Callback ?

Mỗi thành phần có nhiều hàm Callback khác nhau, các bạn xem thêm ở Properties nhé. Sau đây liệt kê các loại hàm Callback và các điều khiển có thể có hàm này.

Callback property Sự kiện xảy ra Thành phần có hàm này
ButtonDownFcn Thực hiện khi người dùng nhấn chuột lên hoặc trong 5 pixels của component hoặc figure. Nếu là component thì thuộc tính Enable phải on ( tất nhiên rùi ).

Axes,figure,button
group,panel,user
interfacecontrols

Callback

Hành động của các component, ví dụ như thực thi khi người dùng click lên Push Button hoặc chọn một thành phần menu.

Contextmenu,
menu,userinterface
controls

CloseRequestFcn Thực thi trước khi figure đóng. Figure
CreateFcn

Tạo các thành phần.Nó được dùng để khởi tạo các thành phần khi nó được tạo ra. Nó thực thi sau khi thành phần hoặc figure được tạo, nhưng trước khi hiển thị lên trên giao diện người dùng.

Axes,figure,button
group,contextmenu,
menu,panel,user
interfacecontrols

DeleteFcn

Xóa thành phần. Nó có thể được dùng để thực hiện hành động xóa bỏ trước khi component hoặc figure bị hủy bỏ.

Axes,figure,button
group,contextmenu,
menu,panel,user
interfacecontrols

KeyPressFcn

Thực thi khi người dùng nhấn một phím trong keyboard và component hoặc figure của hàm callback đó đang được focus.

Figure,userinterface
controls

KeyReleaseFcn

Thực thi khi người dùng nhả một phím đang bấm và figure vẫn đang được focus.

Figure
ResizeFcn

Thực thi khi người dùng thay đổi kích thước của panel, button group, hoặc figure với điều kiện thuộc tính Resize của figure = on.

Buttongroup,figure,
panel

SelectiononChangeFcn

Thực thi khi người dùng lựa chọn một nút Radio Button khác hoặc toggle button khác trong thành phần Button Group.

Buttongroup
WindowButtonDownFcn

Thực thi khi bạn nhấn chuột (trái hoặc phải) trong khi con trỏ vẫn nằm trong vùng cửa sổ figure.

Figure
WindowButtonMotionFcn

Thực thi khi bạn di chuyển con trỏ trong vùng cửa sổ figure.

Figure
WindowButtonUpFcn

Ban đầu bạn nhấn chuột (trái, hoặc phải) thì khi nhả phím đó ra thì hàm này sẽ được gọi.

Figure
WindowScrollWheelFcn

Thực thi khi nút cuộn của chuột cuộn trong khi figure vẫn trong tầm focus.

Figure
{ 74 comments… add one }
  • phap July 3, 2008, 7:26 pm

    chào anh! anh chỉ cho em cách xử lý ảnh trong matlab được không ạ! thank

    Reply
  • Bui Quang Thanh July 6, 2008, 6:49 pm

    http://www.4shared.com/file/54152349/5b16ffa5/xu_ly_anh-_bui_quang_thanh.html

    Đây là bài mình làm về xử lý ảnh với load ảnh và xử lý ảnh đó với pop-up Menu. Hy vọng sẽ giúp được bạn nhiều. Tuy nhiên nó vẫn còn nhiều hạn chế sau. Mong anh Bắc và các bạn sau khi xem xong sẽ tìm ra được lỗi để bài này được tốt hơn.

    ưu điểm:
    – Sau khi nhấn button thì nó load được 1 ảnh vào axes1
    – sau khi chọn item trong pop-up-menu thì nó sẽ xử lí ảnh đó.

    hạn chế: – Nó chỉ load được các bứt ảnh trong thư mục Work của Matlab.
    – Mình chưa thể sử dụng bức ảnh đã load vào axes1 để xử lý trong pop-up Menu.
    – Rõ ràng là mình cho load ảnh vào axes1 còn xử lí ảnh đó thì mình cho hiện lên ases2 nhưng nó nhảy tán loạn lên cả 2 axes

    Mục tiêu hướng tới của bài này là:
    – Có thể load ảnh ở bất kỳ đâu trong máy tính.
    – Dùng bứt ảnh ban đầu đã load trong axes1 để xử lý tiếp trong các item pop-up Menu.
    – Khắc phục được hạn chế thứ 3 trên( cho load ảnh vào axes1 và giữ cố định bức ảnh này, sau khi xử lý bứt ảnh đó thì cho hiện ảnh đã được xử lý lên axes2 )

    Mình rất mong nhận được sự trao đổi và góp ý từ các bạn để đạt được mục tiêu trên.
    Chúc các bạn thành công.

    Reply
    • nguyễn xuân trung April 20, 2009, 7:47 pm

      anh QUANG THANH à. em đang làm 1 đồ án môn học về xử lí ảnh bằng wavelet trong matlab. hiện nay em chưa co tài liệu gì cả.a cótheerr cho em một ít tài liệu được không anh. hay anh có bài viết nào không anh. cái link anh cho ở đầu em mở không được. hiện nay em đang rất cần. anh giúp em với nhé.
      em cảm ơn anh. chúc anh thành công.

      Reply
      • ngohaibac April 20, 2009, 8:24 pm

        Chào em.

        Anh Quang Thanh nào thế em ? Tài liệu nào thì em search trên Google là ra thôi mà em. Em search với từ khóa: Image Processing using Wavelet in Matlab.

        Chúc em thành công.

        Reply
  • Bui Quang Thanh July 8, 2008, 9:09 am

    Chào anh Bắc.
    Anh có thể giải thích giúp cho em cấu trúc dòng lệnh này với: lab_he(:,:,2:3). Em đọc tìm trong help mà chưa thấy, em nghi ngờ nó là mãng, đọc phần mãng thì thấy không có trường hợp đó. Anh giải thích giùm ý nghĩa của dấu “:”, dấu “,”, số “2,3”.Em đọc code thấy nhiều trường hợp tương tự. Em đang rất rất cần. Hay anh chỉ chỗ nào trong help có giải thích về phần này cũng được em sẽ mò và đọc.
    Chúc anh thành công.

    Reply
  • Bui Quang Thanh July 9, 2008, 1:43 am

    Cái này thì em đã biết:
    A= [1 2 3 4;4 5 6 7;8 9 10 11;12 13 14 15]
    kết quả: A= 1 2 3 4
    5 6 7 8
    8 9 10 11
    12 13 14 15

    ví dụ: D(:,j): Chính là biểu diễn cột thứ j
    C(i:k,:): Biểu diễn từ dòng i–>k

    Cái của anh nói thì em đã biết A(:,3): là biểu diễn cột thứ 3.
    Còn trường hợp em hỏi là B(:,:,2:3)nó khác mấy cái trên là có tới 3 dấu phẩy, còn trường hợp 2 đấu phẩy là thể hiện hàng và cột.Anh xem lại thử giùm em.
    Chúc anh thành công.

    Reply
  • Bui Quang Thanh July 9, 2008, 7:33 pm

    Chào anh.
    Cảm ơn anh, em sẽ xem kỹ lại, à sẵng tiện cho em hỏi thêm, anh biết file có đuôi .mat trong matlab để làm gì không ạ, và cách để mở nó ra xem thì như thế nào.

    Chúc anh thành công.

    Reply
  • bapngo July 11, 2008, 8:55 am

    Thế nào là hàm Callback ?

    Callback là một hàm mà các bạn viết miêu tả hành vi của một thành phần GUI xác định hoặc là của chính GUI figure, điều khiển các hành vi của chúng bằng cách thực hiện một số hành động được viết trong hàm, để đáp ứng lại một sự kiện của chính thành phần đó. Cách lập trình này thường gọi là : Lập trình lái sự kiện (event driven programming).
    <— bác dịch từ tiếng anh ra à?? giống cái máy dịch.

    Reply
  • Bui Quang Thanh July 16, 2008, 4:45 am

    chào anh Bắc

    Em đang biên dịch chuơng trình Matlab ra file EXE, bước đầu tiên em đã biên dịch thành công, sau đó em gõ toploytool trong command window nó báo lỗi không có lệnh này.

    Reply
  • Bui Quang Thanh July 16, 2008, 4:54 am

    Hi Anh.
    trong bài hướng dẫn anh có nói là từ menu file gõ deploytool. có phải là trong command window ta gõ vào lện này không ạ, vì em đã gõ trong command window nhưng không được,nó báo lỗi không có cái này. anh chỉ giúp em, em đang cần

    Reply
  • Ngô Hải Bắc July 16, 2008, 8:53 am

    Chào em.

    Đúng là gõ lệnh deploytool trong command window em ạ.

    Nếu Matlab của em không có thì em mua bản Matlab mới nhất sẽ có. Hoặc copy ở nhà bạn bè thư mục sau:

    C:\Program Files\MATLAB\R2007a\toolbox\compiler\deploy

    Rồi copy vào trong thư mục Toolbox: $Matlab\toolbox\compiler

    Rồi add path của thư mục này vào. (Vào menu File -> Add path).

    Chúc em thành công.

    Reply
  • Bui Quang Thanh July 16, 2008, 6:26 pm

    chào Anh.
    em đang cài matlab 7.0, em đang làm thực tập nên mới mua đĩa này tại Nhat Trang, ở đây họ bán virsion này mới nhất, nên em ko biết phải tìm ở đâu nữa, nếu anh có anh có thể share cho em được không ạ. Em cần để đóng gói lại đem cho Thầy xem qua cho tiện. Cảm ơn anh nhiều

    Reply
  • Bui Quang Thanh July 17, 2008, 8:55 am

    Chào anh Bắc.

    Để vài hôm nữa làm hoàn chỉnh em sẽ gủi nhờ anh đóng gói giúp. À sẵng tiện cho em hỏi hiện nay virsion mới nhất là bao nhiêu vậy ạ, em cài 7.0 rùi mà sao hẻm có vậy trời.

    Reply
  • Bui Quang Thanh July 17, 2008, 9:13 am

    anh hiện đang dùng phiên bản bao nhiêu mà có cái biên dịch ra file EXE vậy. Từ phiên bản bao nhiêu thì có cái này vậy ạ

    Reply
  • Bui Quang Thanh July 17, 2008, 7:56 pm

    chào anh.
    Trong quá trình cài Matlab có bắt buột phải nhập Get my PLP. Vì em cài đã bỏ qua cái này nên ko biết có thiếu không chứ em cài bản 7.0 (R14) mà.Nếu có nhập vào PLP thì phải làm sao vậy anh Bắc.

    Reply
  • Bui Quang Thanh July 18, 2008, 10:17 am

    Chào anh.
    Vậy dùng lệnh mcc thì chỉ biên dịch được file.m thôi hả anh, chứ ko biên dịch được file.fig?. Hôm nào anh rãnh viết bài chỉ em cách biên dịch bằng lệnh mcc nhé. Nhớ nhanh nhanh chút nha anh.Mai đi ra tiệm hỏi thử có đĩa R2007 or 2008 thử có ko

    Chúc anh thành công. Sau đợt thực tập này phải viết bài để đóng góp, chia sẽ kinh nghiệm cho bạn nào cần về xử lí ảnh quá hic hic. Chứ như em đây lúc đầu hỏi đủ thứ nơi, may mà còn có chỗ để hỏi. 😛

    Reply
  • pháp July 18, 2008, 6:23 pm

    chào các bạn!hiện minh dang làm đề tài xử lý ảnh mình tạo button load ảnh mình muốn khi nhấn button này thì nó hiện ra hộp thoại để lấy file ảnh từ 1 thư mục nhưng mình không lấy được file ảnh trong thư mục đó để đưa ra axec1 các bạn chỉ cho mình với thank!

    Reply
  • Bui Quang Thanh July 18, 2008, 9:07 pm

    chào bạn
    bước 1: Để hiện hộp dialoge chọn file ảnh bạn dùng lệnh uigetfile cụ thể filename = uigetfile(*.*);
    bước 2: đọc bứt ảnh đó và lưu vào biến ảnh : anh = imread(filename);
    bước 3: xuất bứt ảnh ra dùng lệnh imshow: imshow(ảnh);

    Reply
  • Bui Quang Thanh July 18, 2008, 9:10 pm

    Chào các bạn.
    Có bạn nào biết cách hiện 1 ảnh lên axes mà đúng bằng kích thước của axes mà ta đã thiết kế không ạ. Sao mình hiện lênh nó không đúng bằng với kích thướt của cái axes mà đã thiết kế. Thank u

    Reply
  • Bui Quang Thanh July 19, 2008, 1:32 am

    chao bạn.
    Ý bạn là sao mình chưa hiểu lắm. Theo mình nghĩ cái này đâu nhất thiết phải đi xác định kích thướt của ảnh đâu. Mà mình nghĩ là đi xác định kich thướt của axes đó.Nhưng mình làm chưa được. Không biết bạn đã từng thực hiện chưa, nếu làm rùi thì cho mình vài dòng lệnh là mình làm ok.

    Reply
  • Bui Quang Thanh July 19, 2008, 6:59 am

    Chào anh Bắc.
    Đúng là dùng uicontrol để điều khiển các thuộc tính của axes. Nhưng nó được sử dụng nhiều trong lập trình file.m,cái này thì lập trình khơi khó, nên em chỉ lập trình trong file.fig. Cái set thuộc tính width and height cho axes nghe có vẻ hợp lí, nhưng viết lệnh cụ thể thì sao anh có biết ko, em đang làm nhưng chưa ra.

    Reply
  • Bui Quang Thanh July 19, 2008, 6:22 pm

    Hi anh
    Em đã thử rùi,và đã ok yêu cầu của em,cảm ơn anh nhiều vì đã nhiệt tình giúp đỡ em.
    À anh Bắc ơi, chắc anh đã có nhiều kinh nghiệm về lập trình rùi, anh có thể chỉ em cách dùng hàm với: cách khai bào 1 hàm tự tạo và cách để sử dụng hàm đó trong chương trình.
    Cảm ơn anh nhiều.

    Reply
  • Bui Quang Thanh July 20, 2008, 6:51 pm

    chao anh. Cảm ơn anh, em sẽ tìm hiểu.

    Reply
  • Bui Quang Thanh July 20, 2008, 8:14 pm

    chào anh.
    Lần trước anh đã từng biên dịch matlab ra file.Exe bằng lệnh mcc rùi phải ko ạ. Em đã biên dịch ra đựoc file exe rùi, nhưng sao khi chạy chỉ hiện mà hình dos. Em dùng lệnh: mcc -m filenam.m

    Reply
  • Bui Quang Thanh July 20, 2008, 9:02 pm

    em chạy được cái file biên dịch rùi. Nhưng chỉ chạy được cái file biên dịch đó khi nó nằm trong thư mục Work thôi. Như vậy là sao vậy anh, anh có biết ko

    Reply
  • Bui Quang Thanh July 20, 2008, 9:15 pm

    chào anh. Em đã biên chạy được ok hết rùi. Vậy là khi đem sang máy khác em cần phải copy cái fiel MCRIntaller.exe và cài đặt cái này vào máy đó nữa thì mới chạy được phải không anh.

    Reply
  • Bui Quang Thanh July 20, 2008, 11:19 pm

    Chào anh.
    MCRInstaller.exe là để biên dịch thui mà anh, còn đóng gói thì phải dùng MCRInstaller.msi chứ, anh nói em chưa hiểu lắm. Anh có thể nói cụ thể hơn không ạ.

    chúc anh thành công.

    Reply
  • Bui Quang Thanh July 21, 2008, 7:04 am

    Chào anh.
    em đã đem chạy trên máy khác rùi, ok rùi nhưng em cũng không cần phải copy cái C:\Program Files\MATLAB\R2007a\toolbox\compiler\deploy\win32 này. Mà em chỉ cần copy các file biên dịch + MCRIntaller.exe và sang máy khác cài là chạy ok.

    Cảm ơn anh trong thời gian qua đã giúp đỡ em.
    Chào tạm biệt. Chúc anh hạnh phúc trong cuộc sống.

    Reply
  • Bui Quang Thanh July 26, 2008, 9:13 am

    Chào anh Bắc, mấy hôm nay mạng nhà em bị hỏng, đang làm thực tập nên khổ với cái mạng hỏng.
    À anh Bắc ơi cái đồ án bằng file pps mà anh đã làm đó, có cách đơn giản nào anh có thể share cho em cách làm không ạ, như tài liệu, hay là link…, hùi trước anh đọc tài liệu gì để làm cái này vậy. Nói thật em rất thích cách làm này, nên nhất định trong đợt thực tập chuyên ngành này em sẽ phải làm cho bằng được cái này vì trông nó rất pro. 😆 😆 😆

    Reply
  • admin July 26, 2008, 5:44 pm

    Chào em.

    Cái này đơn giản mà em. Quan trọng là ý tưởng, sau đó đơn giản ý tưởng, rồi nhờ các công cụ có sẵn để thực hiện ý tưởng đó.

    Để anh share cho em cái mã nguồn anh làm trên PowerPoint 2007 nha. Đây nè

    Chúc em thành công.

    Reply
  • Bui Quang Thanh July 27, 2008, 1:35 am

    Cảm ơn anh bắc nhiều, à phải dùng pp2007 mới mở đựoc phải không anh, em mở bằng pp2003 ko được. Vì pp2003 không có định đạng file.ppsx.À cho em hỏi thêm trên pp2003 mình có thể làm theo dạng này được không ạ. Cảm ơn anh nhiều

    Reply
  • Bui Quang Thanh July 27, 2008, 5:39 am

    chào anh. Dạ có anh share cho em với ạ, mà cái mrgreen là cái gì vậy anh. Anh có tài liệu liên quan hay là công cụ gì thì anh cứ share giúp em hết nha, em lúc nào cũng cần. Vì em chưa làm cái này bao giờ. Chào tạm biêt

    Reply
  • admin July 29, 2008, 8:03 am

    Chào em.

    Anh upload lên rồi. Đây nè. Cái này mở được bằng PPT2003 đó.

    Mấy hôm anh làm dự án bận quá nên không trả lời em ngay được.

    Chúc em thành công.

    Reply
  • Bui Quang Thanh July 29, 2008, 9:51 am

    Cảm ơn anh nhiều. Anh Bắc ơi,anh giúp em 2 vấn đề này nha, đơn giản là 2 câu hỏi thôi ạ, không biết anh đã từng làm chưa.
    1) em đã biên dịch được và chạy với file EXE rùi, nhưng ko biết trong Matlab có hỗ trợ cách đóng gói không ạ.
    2) Có cách nào kết nối matlab với VB or C#. net không ạ

    Reply
  • Bui Quang Thanh July 29, 2008, 7:50 pm

    Chào anh, có phải vào Complier builder for Come không ạ, còn nhân CTR+P là sao vậy ạ, vô chỗ nào để nhấn, nói thật em anh nói chung chung quá em hẻm biết làm, anh có thời gian thì nói step by step cho em nha. Cảm ơn anh nhiều lắm.

    Làm sao tạo được thư viện DLL vậy anh Bắc.
    Chào anh. chúc anh hạnh phúc

    Reply
  • Bui Quang Thanh July 30, 2008, 7:04 am

    Cảm ơn anh nhiều, em sẽ tìm hiểu ạ. Chào tạm biệt anh.

    Reply
  • bui quang thanh August 9, 2008, 8:21 am

    Chao anh Bắc. Em đã cài bản 2007, đúng là bản này mới có deploytool.Mấy tuần nay lo hoàn thiện chương trình và viết báo cáo đem cho thầy xem, nên không vào đây. Bây giờ lại có chuyện nhờ anh Bắc giúp rùi. Anh có thể chỉ sơ sơ cho em cách tạo mấy cái button ở trong powerpoint mà anh làm trong cái đồ án của anh. Cảm ơn anh nhiều

    Reply
  • bui quang thanh August 20, 2008, 1:14 am

    chào anh Bắc. Không biết anh đang bận hay sao, mà không thấy anh hồi âm, anh giúp em một cái này nữa thôi ạ. Em chân thành cảm ơn anh trước nha.

    Anh cho em hỏi trong cái báo cáo bằng pp mà anh gửi cho em đó, có cái mục lục, phần khái quát, em thấy nó là một picture cái đó làm sao vậy anh bắt, anh dùng công cụ gì để làm cái đó vậy ạ, cái hình đó có chèn chữ vô đấy ạ.

    Mong anh hồi âm sớm giúp em. Một lần nữa cảm ơn anh nhiều

    Reply
  • bui quang thanh August 21, 2008, 10:42 am

    à thì ra anh dùng pp 2007

    Reply
  • NGUYỄN MINH NHẬT December 11, 2009, 12:45 am

    Tôi đang làm đồ án về xử lý ảnh dùng mạng neuron nhận dạng khuôn mặt người! bây giờ đến việc làm sao lấy ma trận tất cả các điểm ảnh để đưa đầu vào! không biết dùng hàm gì? xin các anh chỉ giúp dùm ! xin cảm ơn!

    Reply
    • ngohaibac December 11, 2009, 2:37 pm

      Bạn dùng hàm imread là được mà.

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

      Reply
  • NGUYỄN MINH NHẬT December 11, 2009, 12:48 am

    sao mà lấy ra toàn bộ các giá trị từng pixel trong 1 ảnh được vậy? dùng hàm gì bây giờ? xin chỉ dùm

    Reply
  • NGUYỄN MINH NHẬT December 11, 2009, 12:49 am

    Em đả đọc kĩ Help về toolbox Digital Image Processing Toolbox nhưng ko thấy nó nói gì hết!!

    Reply
  • viet March 24, 2011, 2:10 pm

    mình mới bắt đầu học cách tạo guide trong matlab de chuẩn bị cho cái luận văn!Bạn có tài liệu nào về tạo guide và các lệnh phổ biến trong guide có thể share cho mình với được không!cảm ơn các bạn rất nhiều!
    mail của mình là: thienviet050686@gmail.com

    Reply
  • tien June 17, 2011, 5:49 pm

    anh ơi ch em hỏi với ạ.
    khi lập trình GUIDE em viết lệnh :
    function axes2_ButtonDownFcn(hObject, eventdata, handles)
    % hObject handle to axes2 (see GCBO)
    % eventdata reserved – to be defined in a future version of MATLAB
    % handles structure with handles and user data (see GUIDATA)

    n=-10:0.1:10;
    x=(0.8.^n).*cos(0.05.*pi.*n+pi./2);
    [x1,n1]=sigshift(x,n,-1);
    [x2,n2]=sigshift(x,n,10);
    [y,n3]=sigadd(x1,n1,6*x2,n2);
    axes(handles.axes2);
    stem(n3,y)

    hàm sigadd của em ở thực hiện ở cửa sổ command window vẫn bình thường nhưng không hiểu tại sao khi chạy đoạn này nó lại báo lỗi.
    nó báo lỗi như thế này ạ:
    ??? In an assignment A(I) = B, the number of elements in B and
    I must be the same.

    Error in ==> C:\MATLAB6p5\work\sigadd.m
    On line 8 ==> y1(find((n >= min(n1)) & (n C:\MATLAB6p5\work\de48b1a.m (axes2_ButtonDownFcn)
    On line 99 ==> [y,n3]=sigadd(x1,n1,6*x2,n2);

    Error in ==> C:\MATLAB6p5\toolbox\matlab\uitools\gui_mainfcn.m
    On line 66 ==> feval(varargin{:});

    Error in ==> C:\MATLAB6p5\work\de48b1a.m
    On line 42 ==> gui_mainfcn(gui_State, varargin{:});

    ??? Error while evaluating axes ButtonDownFcn.

    anh giúp em với được không ạ!

    Reply
  • tran minh vu September 21, 2011, 9:48 am

    anh Bắc ơi anh giúp em cách lam hàm if trong push button em ko biết hàm if viết trong pust button đó. mọi người ai bíêt giúp mình với helppppppppppppppppppppppp

    Reply
  • Nguyễn Tuấn Minh September 17, 2013, 9:29 pm

    Em chào anh ạ. Hiện tại thì em đang làm đề tài liên quan đến việc Mô phỏng các phương pháp nâng cao chất lượng ảnh trong miền không gian và tần số ạ. Ai có tài liệu tham khảo gì thì có thể gửi cho em với được không ạ. Em xin cảm ơn 😀

    Reply
  • phúc April 4, 2014, 11:43 pm

    Anh ạ, Em không biết có topic nào thế này chưa ? nên em có thể hỏi lại. Anh giúp em với ạ .
    trong matlab em có một hàm dùng để nhận dạng ký tự ,VD:
    function ORC
    ….
    load (‘templates.mat’)
    global templates
    …….
    end
    và em sử dụng giao diện C# . em không biết làm sao để sử dụng templates.mat trong c# . Trong c# em chỉ có nút chức năng nhập 1 ảnh vào còn phần xử lý phải qua matlab code sau đó kết quả là nội dung text của ảnh hiện thị trên messageBox của c# . Nhưng em bị vướng cái templates .mat ạ. anh có ý kiến giúp em với ạ . Đây là đề tài nhận dạng ký tự trong ảnh ạ . Thanks anh

    Reply
  • nguyễn văn Nam December 6, 2014, 1:49 am

    Anh Chị ơi, nhờ a.c thông thạo GUI matlab hướng dẫn giúp em một số vấn đề bên dưới với ạ:
    1. Có một lệnh readxxx, sau khi chạy lệnh thì cửa sổ command hiện bảng thông tin về file xxx. Vấn đề là tạo hai nút Button: 1 nút (open file) là để bấm vào nó hiện thư mục để mình chọn file xxx; nút thứ 2 (readxxx) bấm vào sẽ hiện bảng thông tin về file xxx giống như khi nó hiện trên cửa sổ command vậy.
    2. Lệnh hiển thị hình ảnh, cũng giống như ở trên, cũng tạo ra hai nút bấm như vậy nhưng chỉ khác ở nút thứ 2, ở trên là bấm vào nút thứ 2 sẽ hiện ra thông tin file xxx, còn ở đây nó hiển thị ra đồ thị được tạo ra từ cái file xxx đó.
    3. Lệnh convernt and write file xxx, cũng tương tự nhứ trên, nhưng nút thứ hai ở đây có chức năng là chuyển đổi file xxx và tạo ra một file khác (ví dụ: input=wav, convernt (input)=mp3, write(mp3)=output).

    Vì còn chưa rành về matlab nên ngôn từ nói theo kiểu nôm na để dễ trình bày mong mọi người thông cảm!
    Rất mong đươc sự trợ giúp của các pro trong thời gian ngắn nhất vì em đang rất rất cần ngay ạ!
    Em cảm ơn mọi người rất nhiều!

    Reply
  • Phương Chi April 6, 2015, 1:01 pm

    Em mới học về matlab nên có chút vấn đề muốn hỏi a Bắc ạ 😀

    Reply

Leave a Comment