Category:Python’

ดาวน์โหลด youtube vdo แบบ geek (นิดๆ) –python

 - by NAzT

วันนี้ยังไง?

เราจะมา vdo ด้วยคำสั่ง (command line) กันครับ คำสั่งที่เราจะใช้ก็คือ ซึ่งก็ตรงๆตัว ครับ

youtube-dl is a small command-line program to download videos from YouTube.com

Read this article »

สร้าง django Application (เอามาเทียบกับ Rails และ Grails)

 - by Nat Weerawan

เมื่อตอนก่อนหน้านี้เขียน การสร้าง Rails Application เทียบกับ Grails Application วันนี้เลยลองเขียนของ บ้าง Read this article »

ลองเล่น python + Imaging + numpy

 - by Nat

มี Digital Processing เลยหาเครื่องมือที่จะเอามาใช้หน่อย   ตอนแรกกะจะใช้ แต่ลองเอา wrapper ที่ทำให้ ใช้ มาลองดีกว่า เพื่อความมันส์(อยากเขียน เป็น)

เขียนไปเขียนมา ทำไปเกือบเสร็จ ( + ) เจอปัญหาเรื่อง datatype นิดหน่อย (ไม่รู้ว่ามัน cast ไปเป็น pointer to aligned data ยังไง)

ผสานกับเวลาที่เหลือน้อย  จึงคิดว่า กลับไปเขียน + c ให้เสร็จก่อนดีกว่า ที่เขียนใน มันเพี้ยนๆ

พอเขียน + c เสร็จ (แต่ไม่เรียบร้อย)

แต่รู้สึกว่า ในการทำงานหลายๆส่วนกับ นั้น ไม่ค่อยเป็นที่พอใจ มันเขียน code เวิ่นเว้อไป เช่นการทำ invert สีของรูปภาพ

// invert the

 

  for(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++)
    data[istep+jchannels+k]=255-data[istep+jchannels+k];

แต่ในพวก มันเขียนแค่ 255 – matrix สี จึงคิดหาโปรแกรมอื่นมาใช้แทน เพราะขี้เกียจเข้า windows เพื่อไปใช้ และ อีกอย่างมันไม่ฟรีด้วย

จึงได้ข้อมูลพวก scilab , octave  เอ้า ! โหลดมาลองซะหน่อย

และหลังจากนั้นไปอีก….. Read this article »

(Cache) Python 2.4 + numpy + matplotlib + Imaging

 - by Nat

จากความเดิมตอนที่แล้วที่ ใช้ 2.5 กับ แล้วก็ 1.1.6  ก็ทำงานไปได้ระดับหนึ่ง

แต่เกิดอยากจะ plot histogram ขึ้นมาเลยไปมองที่ เนื่องจากครั้งที่แล้วยังลงไม่ได้

แต่แล้วก็ได้พบพานกับ -0.99.1.1 เคยเห็นใน superpack ก็เลยโหลดมาลองซะหน่อย

Read this article »

Unit Vectors – Normalizing ใช้ python และ numpy

 - by Nat

 

ก่อนที่เราจะ normalize vector ได้ เราต้องหา norm ( magnitude หรือ ขนาด) ของมันก่อน

ซึ่งมันหาได้โดยการ ถอด Square root ของ ผลบวกกำลังสองครับ (sumsquare)

    length = sqrt((ax * ax) + (ay * ay) + (az * az))
    length = sqrt(9 + 1 + 4) = 3.742

ซึ่ง 3.742 จะเป็น ขนาดของ Vector [1,2,3] ครับ

ถ้าจะ normalize  vector  นี้ก็เอา magnitude ไปหารทุกตัวครับ

    x = 3.0 / 3.742 = 0.802
    y = 1.0 / 3.742 = 0.267
    z = 2.0 / 3.742 = 0.534

 

ซึ่งใน เขียนแค่

ก็จะได้คำตอบ

([ 0.26726124,  0.53452248,  0.80178373])

Read this article »