Re: zigzag scan: Image processing function
"Fredrik Bülow" <[email protected]> Fri, 6 Oct 2006 16:40:49 +0200
| Newsgroups | gmane.comp.gnu.octave.sources |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_7795_33412387.1160145649603 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi Muthiah! I took the liberty of writing my own quicker version of zigzag. I've also added support for mxn matrices (where m!=3Dn). Code is attached. Cheers Fredrik B=FClow On 10/5/06, Muthiah Annamalai <[email protected]> wrote: > > Hello there, > I have a function zigzag() which walks-off a (square)matrix and reads it= s > elements in a zigzag fashion. It is useful for image processing. > > Example: > octave --eval > "x=3D[1:4]'*[1:4];eval('x');tic;printf('%d\n',zigzagscan(x));toc()" > -q > x =3D > > 1 2 3 4 > 2 4 6 8 > 3 6 9 12 > 4 8 12 16 > > 1 > 2 > 2 > 3 > 4 > 3 > 4 > 6 > 6 > 4 > 8 > 9 > 8 > 12 > 12 > 16 > Elapsed time is 0.177223 seconds. > > > However I dont know where I should commit it to in Octave-forge. > Someone please suggest the right place. > > Code is attached. > > Cheers > Muthu > > > _______________________________________________ > Octave-sources mailing list > [email protected] > https://www.cae.wisc.edu/mailman/listinfo/octave-sources > > > > ------=_Part_7795_33412387.1160145649603 Content-Type: text/x-objcsrc; name=my_zigzag.m; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_esyo6ppz Content-Disposition: attachment; filename="my_zigzag.m" IyMgQ29weXJpZ2h0IChDKSAyMDA2LCBPY3RvYmVyLCBGcmVkcmlrIEJ1bG93LCA8ZnJlZHJpay5i dWxvd0BnbWFpbC5jb20+CiMjCiMjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us IG9yCiMjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMjCiMjIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAoj IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgojIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCiMjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCiMjCiMjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs ZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIyMKCgoKZnVu Y3Rpb24gcnZhbCA9IG15X3ppZ3phZyhtdHJ4KQogIG49c2l6ZShtdHJ4KTsKCiAgaWYoaXNzcXVh cmUobXRyeCkpICNTcXVhcmUgbWF0cml4IChxdWljayBjYXNlKQoKICAgICMjV2UgY3JlYXRlIGEg bWF0cml4IG9mIHRoZSBzYW1lIHNpemUgYXMgbXRyeCB3aGVyZSBvZGQgZWxlbWVudHMgYXJlCiAg ICAjIzEsIG90aGVycyAwLgogICAgb2RkPWtyb24ob25lcyhjZWlsKG4vMikpLGV5ZSgyKSkoKDE6 bigxKSksKDE6bigyKSkpOwoKICAgICMjV2UgdHJhbnNwb3NlIGV2ZW4gZWxlbWVudHMgb25seS4K ICAgIG10cnggPSBtdHJ4LipvZGQgKyAobXRyeC4qKDEtb2RkKSknOwoKICAgICMjTm93IHdlIG1p cnJvciB0aGUgbWF0cml4LiBUaGUgZGVzaXJlZCB2ZWN0b3IgaXMgbm93IHRoZQogICAgIyNjb25j YXRlbmF0aW9uIG9mIHRoZSBkaWFnb25hbHMuCiAgICBtdHJ4PW10cngoOiwxK3NpemUobXRyeCwy KS0oMTpzaXplKG10cngsMikpKTsKCiAgICAjI1BpY2tpbmcgb3V0IHRoZSBkaWFnb25hbHMuCiAg ICBydmFsICA9IFtdOwogICAgZm9yIGkgPSBuKDIpLTE6LTE6MS1uKDEpCiAgICAgIHJ2YWw9W3J2 YWwgZGlhZyhtdHJ4LGkpJ107CiAgICBlbmRmb3IKCiAgZWxzZSAjTm90IHNxdWFyZSAoU2xvdyBj YXNlcykKICAgIG10cng9bXRyeCg6LDErc2l6ZShtdHJ4LDIpLSgxOnNpemUobXRyeCwyKSkpOwoK ICAgICMjUGlja2luZyBvdXQgdGhlIGRpYWdvbmFscyBhbmQgcmV2ZXJzaW5nIG9kZCBvbmVzIG1h bnVhbGx5LgogICAgcnZhbCAgPSBbXTsKICAgIGZvciBpID0gbigyKS0xOi0xOjEtbigxKQogICAg ICBuZXcgPSBkaWFnKG10cngsaSk7CiAgICAgIGlmKGZsb29yKGkvMik9PWkvMikgIyNFdmVuPwoJ cnZhbD1bcnZhbCBuZXcnXTsKICAgICAgZWxzZSAgICAgICAgICAgICAgICAjI09kZCEKCXJ2YWw9 W3J2YWwgbmV3KCgxK2xlbmd0aChuZXcpKS0oMTpsZW5ndGgobmV3KSkpJ107CiAgICAgIGVuZGlm CiAgICBlbmRmb3IKICBlbmRpZgplbmRmdW5jdGlvbgoKCgo= ------=_Part_7795_33412387.1160145649603 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Octave-sources mailing list [email protected] https://www.cae.wisc.edu/mailman/listinfo/octave-sources ------=_Part_7795_33412387.1160145649603--