From octave-sources-request at bevo dot che dot wisc dot edu Thu Jul 8 19:25:08 1999 Subject: pgm2octave converter From: Benjamin Tovar Lopez To: octave-sources at bevo dot che dot wisc dot edu cc: bteovar at yahoo dot com Date: Thu, 8 Jul 1999 19:18:22 -0500 (CDT) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime at docserver dot cac dot washington dot edu for more info. ---1796105459-749952792-931479502=:91594 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, Im working on image proccesing using Octave. I wrote a function that can read a image file with pgm format and covert it to Octave, so it can be save like an Octave image. The function takes like 90 s to transform animage of 255x255 pix on my Pentium 166 (using at the same time other programs). I transform the images to pgm using XV, so it works perfect with th e XV output, but I think the function will manage any pgm "like" output. Please let me know if you are interested. (I dont have much idea of how to copyright under GNU, so I included a copy of the license in the function). Benjamin Tovar al707298 at academ01 dot ccm dot itesm dot mx bteovar at yahoo dot com ---1796105459-749952792-931479502=:91594 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mypgm2octave.m" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: IyMgQ29weXJpZ2h0IChDKSAxOTk5IEJlbmphbWluIFRvdmFyIExvcGV6DQoj IyANCiMjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQ0KIyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQ0KIyMg YW55IGxhdGVyIHZlcnNpb24uDQojIw0KIyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws IGJ1dA0KIyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUNCiMjIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4NCiMjDQojIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyMgYWxvbmcgd2l0 aCB0aGlzIGZpbGUuICBJZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sDQojIyA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAz MzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICANCg0KIyMgdXNh Z2U6ICBbSU1BR0VPLCBDTUFQXSA9IHBnbTJvY3RhdmUoInBhdGh0b2ltYWdl ZmlsZSIpDQojIw0KIyMgQ29udmVydHMgYSAucGdtIGltYWdlIHRvIG9jdGF2 ZSBtYXRyaXguIFRoZSBvdXRwdXQgaXMgIklNQUdFTyIgZm9yDQojIyB0aGUg aW1hZ2UgbWF0cml4IGFuZCBDTUFQIGZvciB0aGUgaW1hZ2UgKGdyYXkpIGNv bG9ybWFwLiBBbHNvIHlvdSB3aWxsIA0KIyMgd2FudCB0byB1c2UgInNhdmVp bWFnZSgiTmFtZU9mRmlsZSIsIElNQUdFTykgdG8gc3RvcmUgeW91ciBpbWFn ZS4NCiMjDQojIyBUaGUgZnVuY3Rpb24gbWF5IHRha2UgbG9uZyB0aW1lIHRv IGNvbnZlcnQgdGhlIGltYWdlLg0KIyMNCiMjIFRoZSAucGdtIGV4cGVjdGVk IG11c3QgaGF2ZSB0aGUgbmV4dCBzdHJ1Y3R1cmUgYW5kIG11c3QgYmUgaW4N CiMjIGdyYXlzY2FsZToNCiMjDQojIyAnQ09NTUVOVFMgKHNvbWUgbGluZXMp Jw0KIyMgJ051bWJlciBvZiBjb2x1bW5zJyAnTnVtYmVyIG9mIHJvd3MnDQoj IyAnTnVtYmVyIG9mIGNvbG9ycycNCiMjICdSb3dzIGFuZCByb3dzIG9mIGlu dGVnZXJzIHdpdGggdGhlIGltYWdlIGRhdGEnDQoNCiMjIEF1dGhvcjogIEJl bmphbWluIFRvdmFyIExvcGV6IDxhbDcwNzI5OEBhY2FkZW0wMS5jY20uaXRl c20ubXg+DQojIyBLZXl3b3JkczogaW1hZ2UgY29udmVydGVyIHBnbQ0KIyMg RGVzY3JpcHRpb246ICBDb252ZXJ0IC5wZ20gaW1hZ2VzIHRvIGFuIE9jdGF2 ZSBtYXRyaXggDQoNCg0KZnVuY3Rpb24gW2ltYWdlbywgY29sbWFwXSA9IG15 cGdtMm9jdGF2ZSAobm9tYnJlaW0pDQpiPXRpbWUNCmlmIChuYXJnaW4gIT0g MSkNCiAgdXNhZ2UgKCJcblxuW0lNQUdFTywgQ01BUF0gPSBwZ20yb2N0YXZl KCdwYXRodG9pbWFnZWZpbGUnKVxuXG4iKTsNCmVuZGlmDQoNCmlmICghaXNz dHIobm9tYnJlaW0pKQ0KICBlcnJvciAoIlxuXG5FeHBlY3RpbmcgZmlsZW5h bWUgYXMgYSBzdHJpbmdcblxuIikNCmVuZGlmDQogDQplc3RhcmFfID0gZmls ZV9pbl9wYXRoIChJTUFHRVBBVEgsIG5vbWJyZWltKTsNCg0KaWYgKGlzZW1w dHkgKGVzdGFyYV8pKQ0KICBlcnJvciAoInBnbTJvY3RhdmU6IHVuYWJsZSB0 byBmaW5kIGltYWdlIGZpbGUiKTsNCmVuZGlmICAgICAgICAgIA0KDQppbWFn ZW49Zm9wZW4gKG5vbWJyZWltLCAiciIpOw0KDQpjb25kdD0wOw0KDQojIyBS ZWFkIGFuZCBkaXNjYXJkIGRhdGEgdW50aWwgdGhlIGNvbW1lbnRlZCBoZWFk ZXIgb2YgdGhlIGZpbGUgZW5kcy4gDQp3aGlsZSAoY29uZHQ9PTApDQogIHRl bXA9ZmdldHMoaW1hZ2VuKTsNCiAgdGVtcDE9aXNkaWdpdCh0ZW1wKTsNCiAg aWYgKHRlbXAxKDEpPT0xKQ0KICAgIGNvbmR0PTE7DQogIGVuZGlmDQplbmR3 aGlsZQ0KDQp0ZW1wPXN0cjJudW0odGVtcCk7DQoNCiMjIGNsIGFuZCBybCBh cmUgdGhlIGNvbHVtbiBhbmQgcm93IHNpemUgaW4gcGl4ZWxzIG9mIHRoZSBp bWFnZSANCmNsPXRlbXAoMSk7DQpybD10ZW1wKDIpOw0KDQojIyBjb20gaXMg dGhlIG51bWJlciBvZiBjb2xvcnMgb2YgdGhlIGltYWdlDQpjb209c3RyMm51 bShmZ2V0cyhpbWFnZW4pKTsNCg0KIyMgQ3JlYXRlcyB0aGUgbWF0cml4IHRo YXQgd2lsbCBob2xkIHRoZSBpbWFnZQ0KaW1hZ2VvPXplcm9zKHJsLGNsKTsN Cg0KIyMgbWF4dCBpcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBvbiB0aGUgaW1h Z2UNCm1heHR0PXJsKmNsOw0KDQpjb250PTA7CQkJCSMgQ291bnRzIHRoZSBu dW1iZXIgb2YgcGl4ZWxzIGNvbnZlcnRlZA0Kaj0xOwkJCQkjIFRoZSBhY3R1 YWwgY29sdW1uDQppPTE7CQkJCSMgVGhlIGFjdHVhbCByb3cNCnRvdGFsPTA7 CQkJIyBDb3VudHMgdGhlIG51bWJlciBvZiBwaXhlbHMgdG8gcHJldmVudA0K CQkJCSMgIm92ZXJmbG93IiBvZiBwaXhlbHMgaW4gYW4gaW1hZ2Ugcm93DQoN CiMjIFRoZSBuZXh0ICJ3aGlsZSIga2VlcHMgY3ljbGluZyB1bnRpbCB0aGUg ZW5kIG9mIHRoZSBpbWFnZSBpcyByZWFjaGVkLg0KIyMgVGhlIHZhcmlhYmxl ICJ0ZW1wbyIgd2lsbCBzdG9yYWdlIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhl IGltYWdlLg0KIyMgUHJldmVudGluZyB0aGF0IHRoZSBudW1iZXIgb2YgcGl4 ZWxzIHN0b3JlZCBpbiAidGVtcG8iIGlzIGJpZ2dlciB0aGFuDQojIyB0aGUg Y29sdW1uIHdpZHRoICJudW12ZWMiIHN0b3JlcyB0aGUgbnVtYmVyIG9mIHRp bWVzICJ0ZW1wbyIgbXVzdCBiZQ0KIyMgZGl2aWRlZCBpbnRvIHNtYWxsIHZl Y3RvcnMuIFRoaXMgcHJldmVudHMgYW4gIm92ZXJmbG93IiBvZiBwaXhlbHMu IA0KIyMgVGhlICJwIiBjb3VudGVyIHRlbGxzIHRoZSBhY3R1YWwgImRpdmlz aW9uIiBvZiAidGVtcG8iLiBBbiBzcGVjaWFsDQojIyBjYXNlIGlzIHVzZWQg aWYgdGhlIG51bWJlciBvZiBwaXhlbHMgcmVtYWluaW5nIGluICJ0ZW1wbyIg aXMgbGVzcw0KIyMgdGhhbiB0aGUgY29sdW1uIHdpZHRoIChub3JtYWxseSB0 aGlzIGlzIHRoZSBjYXNlKS4NCiMjDQojIyBUaGUgdmFyaWFibGUgInRvdGFs IiBzdG9yZXMgdGhlIG51bWJlciBvZiBwaXhlbHMgdGhhdCB3aWxsIGJlDQoj IyB3cml0dGVuIHRvIGEgcm93LiBJZiAidG90YWwiIGlzIGJpZ2dlciB0aGFu IHRoZSBudW1iZXIgb2YNCiMjIGNvbHVtbnMsIHRoZSByb3cgaXMgZnVsbGVk IHVudGlsIGhpcyBlbmQgYW5kIHRoZSByZW1haW5pbmcgDQojIyBwaXhlbHMg YXJlIHdyaXR0ZW4gaW4gdGhlIG5leHQgcm93Lg0KDQp3aGlsZSAoY29udCA8 IG1heHR0KQ0KICB0ZW1wbz1zdHIybnVtKGZnZXRzKGltYWdlbikpOw0KICBu dW12ZWM9Y2VpbChjb2x1bW5zKHRlbXBvKS9jbCk7DQogIA0KICBmb3IgcD1u dW12ZWM6LTE6MQ0KICAgIGlmIChwLTEpIT0wDQogICAgICB0ZW1wPXRlbXBv KChudW12ZWMtcCkqY2wrMTpjbCk7DQogICAgZWxzZQ0KICAgICAgdGVtcD10 ZW1wbygobnVtdmVjLXApKmNsKzE6Y29sdW1ucyh0ZW1wbykpOw0KICAgIGVu ZGlmDQoNCiAgICB0b3RhbD10b3RhbCtjb2x1bW5zKHRlbXApOw0KDQogICAg aWYgKHRvdGFsPmNsKQ0KICAgICAgYWN0dWFsbj10b3RhbC1jbDsNCiAgICAg IGltYWdlbyhpLGo6KGorY29sdW1ucyh0ZW1wKS1hY3R1YWxuLTEpKT10ZW1w KDE6Y29sdW1ucyh0ZW1wKS1hY3R1YWxuKTsNCiAgICAgIGk9aSsxOw0KICAg ICAgaW1hZ2VvKGksMTphY3R1YWxuKT10ZW1wKChjb2x1bW5zKHRlbXApLWFj dHVhbG4rMSk6KGNvbHVtbnModGVtcCkpKTsNCiAgICAgIGo9YWN0dWFsbjsN CiAgICAgIHRvdGFsPWo7DQogICAgZWxzZQ0KICAgICAgaW1hZ2VvKGksajoo ai0xKyhjb2x1bW5zKHRlbXApKSkpPXRlbXAoMTpjb2x1bW5zKHRlbXApKTsN CiAgICAgIGo9aitjb2x1bW5zKHRlbXApOw0KICAgIGVuZGlmDQogICAgY29u dD1jb250K2NvbHVtbnModGVtcCk7DQogIGVuZGZvcg0KZW5kd2hpbGUNCg0K Y29sbWFwPWNvbG9ybWFwKGdyYXkoY29tKSk7DQoNCiMjIENvbW1lbnQgdGhl IG5leHQgdHdvIGxpbmVzIGlmIHlvdSBkb250IHdhbnQgdG8gc2VlIHRoZSBp bWFnZSBhbmQgdGhlIA0KIyMgY29sb3JtYXAgZXZlcnkgdGltZSB0aGUgZnVu Y3Rpb24gZW5kcw0KIA0KY29sb3JtYXAoZ3JheShjb20pKTsNCmltYWdlKGlt YWdlbywxKTsNCnRpbWUtYg0KZW5kZnVuY3Rpb24NCg0KDQoNCg0KDQoNCg0K DQoNCg== ---1796105459-749952792-931479502=:91594--