แก้ไข
ขออภัยสำหรับเรื่องทั่วไปก่อนหน้านี้!
ฉันพยายามที่จะชัดเจนยิ่งขึ้น ฉันกำลังทดสอบรูปภาพ ดังนั้นฉันจึงเขียนวิธีการหลายอย่างที่จะใช้ในการวิเคราะห์รูปภาพ ภาพที่ทดสอบไม่ทั้งหมดจะเหมือนกัน ดังนั้นฉันจึงต้องการวัตถุสำหรับแต่ละภาพ หลายวิธีที่ฉันเขียนไม่ได้ทำงานบนอิมเมจทั้งหมด ตัวอย่างเช่น ฉันมีวิธีการที่ส่งคืนระยะห่างของจุดอาเรย์จากศูนย์กลางของรูปภาพ โดยใช้ค่าคงที่ระยะห่างพิกเซลซึ่งเป็นแอตทริบิวต์ของรูปภาพ ที่นี่ฉันมีตัวอย่าง ฉันอ่านรูปภาพและสร้างรูปภาพวัตถุ และคุณลักษณะบางอย่างซึ่งจะเป็นประโยชน์กับฉัน แต่วัตถุชี้ของฉันซึ่งอยู่ในภาพนั้นจะไม่สามารถเข้าถึงคุณลักษณะเหล่านั้นได้หากพวกมันมีคลาสเป็นของตัวเอง การมีคลาสแบบ point มีประโยชน์ เนื่องจากการวิเคราะห์อื่นๆ ก็ใช้ point และใช้วิธีการเดียวกัน
class image(object):
def __init__(self, filepath)
#creates an instance of the image from filepath
xscale = self.read_header(xspacing)
xscale = self.read_header(yspacing) #pixels per mm property of image
class point(object):
def __init__(slef, i,j)
self.i = i # array position in image.
self.j = j
self.x = self.i * xscale #real position in mm in image
self.y = self.i * yscale ##but xscale and y scale are not in scope here.
คำถามคือ... ฉันจะให้คุณลักษณะของวัตถุจุด เช่น ระยะทาง ที่ขึ้นอยู่กับคุณลักษณะของรูปภาพ เช่น xscale และ yscale ได้อย่างไร ในใจของฉัน ฉันต้องการให้อนุญาต image.point.x โดยที่ image.point.x ขึ้นอยู่กับ image.xscale ภาวะแทรกซ้อนเล็กๆ น้อยๆ ซึ่งฉันคิดว่าเราอาจมองข้ามได้ในตอนนี้ก็คือ ไม่ควรปล่อยให้จุดนั้นมีอยู่นอกบริบทของรูปภาพ เพราะมันจะไม่มีความหมายอะไรที่จะมีจุดโดยไม่มีคุณลักษณะของรูปภาพ เช่น มาตราส่วน ฉันหวังว่าจะชัดเจนยิ่งขึ้นและโดยทั่วไปมีประโยชน์มากกว่า ขอบคุณ
คำถามเดิม.
ฉันต้องการให้มีภาพเปิด รูปภาพควรเป็นวัตถุ เนื่องจากมีหลายวิธีที่เกี่ยวข้องกัน... เช่น อ่านข้อมูลส่วนหัวและให้แอตทริบิวต์มากมายแก่วัตถุเช่น title, sizex, sizey...
จากนั้นรูปภาพก็ประกอบด้วยคะแนนอย่างเห็นได้ชัด = ฉันก็เลยคิดว่าฉันมีคลาสคะแนน จากนั้นฉันสามารถกำหนดวัตถุ Point ได้ และวัตถุนั้นอาจมีคุณลักษณะ เช่น ตำแหน่ง (ขึ้นอยู่กับค่าคงที่ของระยะห่างพิกเซลจากส่วนหัวของรูปภาพ) และคลาสนี้จะมีเมธอดของจุดมากมาย เช่น ระยะทาง ค่าการเปลี่ยนแปลง การเคลื่อนที่ สเกล การโพลระหว่างจุดสองจุด.... ฯลฯ
ปัญหาของฉันคือสองเท่า การสร้างวัตถุจุดควรขึ้นอยู่กับการมีอยู่ของวัตถุรูปภาพจริงๆ ฉันไม่รู้ว่า python จัดการกับการสร้างวัตถุตามเงื่อนไขประเภทนี้ได้อย่างไร และประการที่สอง วัตถุจุดจะต้องรับรู้ถึงวัตถุรูปภาพที่เกี่ยวข้อง ตามหลักการแล้ว ฉันจะมี Image.Point(x,y) และนั่นหมายความว่ามีจุด x,y อยู่ภายในรูปภาพ และดังนั้นจึงสามารถเข้าถึงตัวแปรทั้งหมดที่สร้างขึ้นเมื่อวัตถุรูปภาพถูกเตรียมใช้งาน ฉันหวังว่าทุกสิ่งจะสมเหตุสมผล ฉันได้ลอง super แล้ว แต่ดูเหมือนว่าจะไม่ทำบิตแบบมีเงื่อนไข และมันรันเมธอดในคลาสพื้นฐาน โดยที่ฉันแค่อยากมีตัวแปรบางตัวเท่านั้น
ขอบคุณสำหรับความช่วยเหลือใด ๆ
Image
สร้างวัตถุPoint
ของตัวเองเมื่อเริ่มต้น คุณแน่ใจหรือว่าต้องการชั้นเรียนแบบจุด? แล้ว:(x, y)
เพื่อแสดงจุดล่ะ - person phant0m   schedule 02.07.2011