Sufficiency Economy
Group Blog
 
All blogs
 

python : ทดลองใช้ OpenCV

OpenCV เป็น libary ที่มีFunction สำหรับงาน realtime computer vision ซึ่ง support python ด้วย งั้นเริ่มด้วยแสดงภาพละกัน ก็เขียนประมาณนี้
run python
>>>
แล้วเขียน code ประมาณนี้
import cv เพื่อเรียก Libary OpenCV
im = cv.LoadImage("robot.jpg") ต้องมีรูปอยู่ด้วยนะ
cv.ShowImage("Show Picture", im) แสดงรูปที่ load มา จะได้ windows สีเทาๆ ตอนแรกงงอยู่นาน เหมือนมัน update ภาพตลอดเวลาเลยเห็นเป็นสีเทา จึงต้องใส่คำสั่ง
cv.WaitKey() เพื่อรอการกด key ก็จะได้ผลตามรูป








 

Create Date : 13 พฤษภาคม 2555    
Last Update : 13 พฤษภาคม 2555 8:32:39 น.
Counter : 1111 Pageviews.  

Python: การเขียนไฟล์ กับปุ่มกด




ตามที่คุณ hobbit2008 ต้องการคือ การสร้างไฟล์ ข้อความจากการกดปุ่มที่ได้ กำหนดข้อความเข้าไว้แล้ว เพื่อนำไปช่วยในการเขียนโปรแกรมบน NDS ดูแล้วเป็นแนวคิดที่ดี เลยลองทำแบบง่ายๆ ดูเพื่อเป็นแนวทางในการพัฒนาต่อ
โปรแกรมก็ง่ายๆ เริ่มจาก
1. กำหนดชื่อ file ที่ต้องการ
2. แล้วกดปุ่มสร้าง ซึ่งจะมีการตรวจสอบว่ามีไฟล์นี้อยู่แล้วหรือไม่ด้วยคำสั่ง os.path.isfile(E1.get())
3. ถ้ามีไฟล์อยู่แล้วก็สร้างแบบ 'a' คือการต่อไฟล์ แต่ถ้ายังไม่มีไฟล์นี้ก็จะสร้างแบบ 'w' คือสร้างใหม่
4. เมือสร้างไฟล์เสร็จ จึงมา enable ปุ่มกด อื่่นๆ ให้สามารถใช้งานได้
5. แล้วเมื่อกดปุ่ม Save ก็จะปิดไฟล์ แล้ว Disabled ทุกปุ่ม
code ก็อยู่ตรงนี้
คำอธิบายก็อยู่ใน blog ที่เขียนไว้แล้ว หรือไปหาเพิ่มเติมได้ที่ //www.tutorialspoint.com/python/

ถ้าคุณ hobbit ทำเสร็จอย่างไงก็เอามาให้ดูกันบ้างนะครับ
ปล. คุณ hobbit ถ้าจะชอบ Lord of the Ring




 

Create Date : 12 สิงหาคม 2554    
Last Update : 12 สิงหาคม 2554 21:28:34 น.
Counter : 1083 Pageviews.  

Python: โหลดการ์ตูนจาก web ตอนที่ 4

คราวนี้เป็นการรวมโปรแกรมเข้ากับ GUI แล้วระบุ Chapter ที่ต้องการ download ก็เป็นตามรูปข้างล่าง ส่วน source code ก็อยู่ตรงนี้
ลองศึกษาใน code ดูละกัน เขียนมั่วๆไปหน่อยเลยไม่ขอขยายความ







 

Create Date : 10 สิงหาคม 2554    
Last Update : 10 สิงหาคม 2554 21:29:57 น.
Counter : 634 Pageviews.  

Python: โหลดการ์ตูนจาก web ตอนที่ 3

ตอนนี้มีดูวิธีการอ่านค่า จำนวนหน้าจาก web กัน
ถ้าสังเกตดีๆ จำนวนหน้าจะอยู่ที่บรรทัดประมาณ 131 และมีคำว่า " of" เป็นที่สังเกต ดังนั้นถ้าเราไปที่ page นั้นแล้วทำอ่านค่าไปที่ละบรรทัด ให้ตรวจสอบว่าพบ คำว่า " of" ก็เก็บมาใช้งาน ต่อจากนั้นก็ทำการตัดคำ จนได้ตัวเลข ออกมา ตาม code นี้เลย หรือ download sourcecode พร้อมไฟล์จำนวนหน้าที่นี้

import urllib
#เรียกใช้ module เกี่ยวกับ web

num = 1
#เป็นค่าเริ่มต้นสำหรับ chapter เพราะเรื่อง dragonball มี 520 chapter

fpFileList01 = open('fileList01.txt','r')
#สร้าง File Pointer ที่ชี้ไปยังไฟล์ที่เก็บข้อมูลชื่อ link url แต่ละ chapter ที่ได้เขียนโปรแกรมในตอนที่ 2

fpPageList01 = open('PageList01.txt','w')
#สร้าง File pointer เก็บข้อมูลจำนวนหน้า โดยมีรูปแบบคือ เลขที่ chapter + เครื่องหมาย colon + จำนวนหน้าใน chapter นั้น

for line in fpFileList01:
fpNumPage = urllib.urlopen(line)
for lineN in fpNumPage:
if " of" in lineN:
List2 = lineN.split(" ")
List3 = List2[2].split("<")
fpPageList01.write(str(num) + ':'+List3[0]+"n")
print str(num) + ':'+List3[0]
num = num+1
break
#เป็น loop ที่อ่านค่าจากไฟล์ชือ่ 'fileList01.txt' ที่ละบรรทัดเพื่อนำไป urlopen page chapterที่ต้องการ ไล่จาก chapter ที่หนึ่งแล้วเก็บในตัวแปล fpNumPage
#ต่อจากนั้นก็อ่านข้อมูลที่ละบรรทัดจากไฟล์ที่ fpNumPage ชี้อยู่ ถ้าพบข้อความ " of" ก็ทำการเก็บบรรทัดนั้นมาส่ะ
#แล้วทำการเก็บข้อมูลจำนวนหน้าที่ตัวแปร List3[0] และจัดการ write ลงไฟล์ตาม Format ที่บอกไว้ข้างต้น
#แล้วก็ break ออกจาก loop เพื่อไปวน loop ข้างบนเพื่ออ่าน chapter ที่สองต่อไป


fpPageList01.close()
fpFileList01.close()
fp.close()
#สุดท้ายก็ไล่ปิด file Pointer ตามระเบียบ
ตอนนี้ก็ได้ข้อมูลครบแล้วคือ link chapter และจำนวนหน้า ครั้งหน้าก็จะเป็น นำข้อมูลทั้งหมดไปใส่เป็นแบบ GUI เพื่อง่ายต่อการใช้งาน




ถ้าสังเกตจะเป็นว่ามี error ตอน run ก็เพราะว่าบรรทัดสุดท้ายเป็นบรรทัดเปล่า มันไปหา url ไม่เจอ ถ้าไม่ต้องการให้error ก็ลบบรรทัดเปล่าทิ้ง




 

Create Date : 31 กรกฎาคม 2554    
Last Update : 31 กรกฎาคม 2554 8:58:49 น.
Counter : 745 Pageviews.  

Python: โหลดการ์ตูนจาก web ตอนที่ 2

จากครั้งที่แล้วก็สามารถโหลดภาพการ์ตูนได้แล้ว แต่ก็ไม่ค่อยสะดวกเพราะต้องมาเปลี่ยน link เรื่อย และเปลี่ยนจำนวนหน้า ดังนั้นมาครั้งนี้เลยเขียนโปรแกรมเพื่อดึงชื่อ link ทั้งหมดมา ใส่ในไฟล์ชื่อ fileList01.txt และดึงข้อมูลจำนวนหน้ามาเก็บที่ไฟล์ pageList01.txt ซึ่งหลักการก็คล้ายๆกับครั้งที่แล้ว
ก่อนอื่นมาดูวิธี load link ทั้งหมดมาก่อนนะครับ อืมที่ทดลองนี้ใช้กับ การ์ตูนเรื่อง dragonball นะครับ ถ้าเรื่องอื่นๆ ก็ไปแก้ไขcode ตามความเหมาะสมเองละกัน

มาดู code และคำอธิบาย ในโปรแกรม collectLink01.py
import urllib
#load module มาใช้งาน

url = "//www.mangareader.net/105/dragon-ball.html"
fp = urllib.urlopen(url)
#สร้าง File pointer ชี้ไปยัง url ที่กำหนด อันนี้เป็นหน้าแรกของdragonball ซึ่งจะมี link ไปทุกตอน 520 ตอน

startFromLine = 157
lineCount = 1
for line in fp:
if lineCount > startFromLine:
break
lineCount = lineCount+1
#เนื่องจาก Link จะเริ่มที่ประมาณบรรทัดที่ 157 กลุ่มคำสั่งนี้จึงมีหน้าที่ เลื่อนบรรทัดไปเรื่อยๆ จนกระทั่งถึงบรรทัดที่ประมาณ 157


fpWrite = open('fileList01.txt','w')
#สร้าง File Pointer เพื่อจะเก็บข้อมูล

for line in fp:
if "dragon-ball" in line:
strRead = line
print line
List = strRead.split('"')
fpWrite.write("//www.mangareader.net"+List[1]+"n")
#วน loop หาบรรทัดที่มีคำว่า dragon-ball เพื่อจะตัดเอา link url มาใช้งาน และเขียนข้อมูลลงไฟล์ เป็นอันจบ ซึงถ้าเราไม่เลื่อนบรรทัดมาจนประมาณ 157 บรรทัดจะมีคำว่า dragon-ball ที่ไม่ใช่ link url อยู่ ทำให้การเก็บข้อมูลผิดพลาดได้

fpWrite.close()
fp.close()
#ปิดไฟล์ที่ใช้งาน
อันนี้เป็น sourcecode และ textfile ที่เก็บ link มาให้แล้วถ้าขี้เกียจ run program






 

Create Date : 30 กรกฎาคม 2554    
Last Update : 30 กรกฎาคม 2554 8:34:49 น.
Counter : 625 Pageviews.  

1  2  3  4  5  6  

wink99_th
Location :
พิษณุโลก Thailand

[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 8 คน [?]




New Comments
Friends' blogs
[Add wink99_th's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.