Tuesday, April 28, 2020

Re-post กลับมาเขียนอีกครั้ง

ผมกลับมาใช้งาน MATLAB อีกครั้งรอบนี้ใช้เวอร์ชัน 2018a แต่เริ่มแบบเดิม ทดสอบการทำ GUI สำหรับเปิดภาพ แสดงเป็น RGB-, Red-, Green-, Blue- Grayscale เลือกแสดงที่ละแบบโดยใช้ฟังก์ชัน Off





ครั้งนี้ลองใช้ pushbutton แทน radio butoon การเขียนโปรแกรมควบคุมไม่ต่างกัน ใช้งานเช่นเดิม ลองดูตัวอย่างการใช้งานโปรแกรมนี้ดังภาพด้านล่าง









ตัวอย่าง source code ตรงไปตรงมา (ไม่ต้องหาความเป็นมืออาชีพด้านการเขียนโปรแกรมในบล็อก ผมนะครับ 555)

%สำหรับเปิดไฟล์รูปในโฟลเดอร์
function pushOpen_Callback(hObject, eventdata, handles)
% hObject    handle to pushOpen (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[F,PathName,FilterIndex] = uigetfile({'*.*','All Files(*.*)'}, 'Select your File ');
input=strcat(PathName,F);
handles.RGBimage=importdata(input);
%====Display image on axesImage ======%
axes(handles.axesImage);
imshow(handles.RGBimage);%axis equal;axis tight;
hpixinfo = impixelinfo;
%zoom on;
%axis off;
%figure()
%imshow(handles.RGBimage);
guidata(hObject,handles);

% ส่วนควบคุม push button ที่ชื่อ tag ว่า pushRed
 function pushRed_Callback(hObject, eventdata, handles)
% hObject    handle to pushRed (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

axes(handles.axesImage);
handles.RGBimage(:,:,2) = 0;
handles.RGBimage(:,:,3) = 0;
imshow(handles.RGBimage); title('Red-component image');axis equal;axis tight;axis off;impixelinfo;

off=[handles.pushRGB handles.pushGreen handles.pushGray handles.pushBlue];
Turn_Off(off);



ภาพที่นำมาทดสอบ นำมาจาก https://scholarlykitchen.sspnet.org/2019/11/06/born-digital-the-expanding-universe-of-research-content/  ไฟล์ต่างๆ ดาวโหลดได้จากที่นี่ >>> Download files

Wednesday, January 1, 2020

On the beginning (MATLAB GUIDE)

   การเรียนรู้ MATLAB ของผมเกิดขึ้นจากความจำเป็นทั้งสิ้น ที่ต้องหาเครื่องมือมาใช้ในการคำนวณในส่วนงาน ด้วยไม่เคยเรียนเกี่ยวกับ programming มาก่อนเลย เรียนแต่คอมพิวเตอร์พื้นฐานที่ทางสถาบันการศึกษาทุกแห่งต้องจัดให้เป็นวิชาพื้นฐานให้ นักเรียน นักศึกษา ต้องลงทะเบียนเรียนกันทุกคนนั่นแหละครับ
   ด้วยพื้นฐานที่ไม่ถูกฝึกมาทาง programming  ซึ่งเป็นเหตุผลหนึ่งที่เลือกใช้ MATLAB ดังนั้น source code ที่ผมเขียนขึ้นจะตรงไปตรงมา ผมต้องการอะไรผมก็จะเขียนอย่างนั้นเลย อาจจะไม่ฉลาดเหมือน programmer เขาเขียนกันนะครับ อันนี้ขอทำความเข้าใจไว้เบื้องต้นก่อนครับ ตอนเริ่มแรกผมศึกษาจากรุ่นพี่ที่เรียนด้วยกันและทำงานวิจัยด้วยกันครับ หลังจบก็แยกย้ายกันทำงานติดต่อกันบ้าง มีปัญหาก็สอบถาม หาข้อมูลตาม cyber space ถามผู้รู้บ้าง (ในกรณีที่พยายามด้วยตัวเองแล้ว) สุดท้ายความรู้มันก็ผสมปนเปกันออกมาพอจะใช้งานได้ครับ พอมีเครื่องมือทุ่นแรงกาย พลังสมอง ลงไปบ้าง ไม่ต้องไปนั่งคำนวณในกระดาษ เขียนด้วยปากกาซะทั้งหมด

   เอาเป็นว่า blog นี้ ผมจะเขียนบันทึกงานที่ผมทำในแต่ละครั้งนะครับ เพื่อประโยชน์ดังต่อไปนี้ครับ

- สำหรับตัวเอง กันลืม หรือจะได้กลับมารื้อค้นนำไปใช้ในภายหน้าครับ

- สำหรับคนอื่น เผื่อใครติดปัญหา แล้วสิ่งที่ผมเคยทำมันเป็นทางออกสำหรับเขา ผมก็ยินดีด้วยครับ

  ถึงแม้ตัวข้าพเจ้าเองจะเป็นนักวิทยาศาสตร์ชั้นปลายแถว แต่ก็จะพยายามทำงานที่มีประโยชน์ทั้งต่อตัวเองและคนอื่น  เก็บประสบการณ์ไปเรื่อยๆ หากท่านใดเห็น blog นี้แล้ว อยากแนะนำเพิ่มเติม เต็มที่ครับผมน้อมรับคำแนะนำ คำสั่งสอนครับและทางตรงกันข้าม หากใครมีปัญหาติดขัดตรงไหนก็ฝากข้อความไว้ได้เลยครับ หากผมตอบได้ผมจะรีบจัดการให้ทันที แต่ถ้าผมตอบไม่ได้ก็จะพยายามหาคำตอบ จากแหล่งอื่นให้ครับ ดังนั้นผมจะขอเริ่มแล้วครับ