204
edits
(Included link to patch's which implement the functions) |
m (→Open Bugs: missing "None") |
||
(70 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
The {{Forge|image|image package}} is part of the | The {{Forge|image|image package}} is part of the Octave Forge project. See its {{Forge|image|homepage}} for the latest release. | ||
<div class="tocinline">__TOC__</div> | |||
== Development == | == Development == | ||
Follows an incomplete list of stuff missing in the image package to be matlab compatible. Bugs are not listed here, [https://savannah.gnu.org/bugs/?func=search&group=octave search] and [https://savannah.gnu.org/bugs/?func=additem&group=octave report] them on the bug tracker instead. | Follows an incomplete list of stuff missing in the image package to be matlab compatible. Bugs are not listed here, [https://savannah.gnu.org/bugs/?func=search&group=octave search] and [https://savannah.gnu.org/bugs/?func=additem&group=octave report] them on the bug tracker instead. | ||
=== Missing functions === | === Missing functions === | ||
Line 26: | Line 16: | ||
* affine3d | * affine3d | ||
* applycform | * applycform | ||
* bwconvhull | * bwconvhull | ||
* bwdistgeodesic | * bwdistgeodesic | ||
* bwlookup | * bwlookup | ||
* bwtraceboundary | * bwtraceboundary | ||
* bwulterode | * bwulterode | ||
* chromadapt | * chromadapt | ||
* colorcloud | * colorcloud | ||
* convmtx2 | * convmtx2 | ||
Line 48: | Line 34: | ||
* deconvlucy | * deconvlucy | ||
* deconvreg | * deconvreg | ||
* decorrstretch | * decorrstretch | ||
* [https://savannah.gnu.org/patch/?9593 demosaic] | * [https://savannah.gnu.org/patch/?9593 demosaic] | ||
Line 76: | Line 61: | ||
* hdrread | * hdrread | ||
* hdrwrite | * hdrwrite | ||
* iccfind | * iccfind | ||
* iccread | * iccread | ||
Line 90: | Line 73: | ||
* ImageAdapter | * ImageAdapter | ||
* imageinfo | * imageinfo | ||
* imapplymatrix | * [https://savannah.gnu.org/patch/?9717 imapplymatrix] | ||
* imapprox | * imapprox | ||
* imbinarize | * imbinarize | ||
Line 102: | Line 85: | ||
* imellipse | * imellipse | ||
* imfreehand | * imfreehand | ||
* imfuse | * [https://savannah.gnu.org/patch/?9730 imfuse] | ||
* imgaborfilt | * imgaborfilt | ||
* imgaussfilt | * imgaussfilt | ||
Line 125: | Line 108: | ||
* improfile | * improfile | ||
* imrect | * imrect | ||
* | * imreducehaze | ||
* imregconfig | * imregconfig | ||
* imregcorr | * imregcorr | ||
Line 141: | Line 123: | ||
* integralBoxFilter | * integralBoxFilter | ||
* integralBoxFilter3 | * integralBoxFilter3 | ||
* interfileinfo | * interfileinfo | ||
* interfileread | * interfileread | ||
Line 168: | Line 148: | ||
* nitfread | * nitfread | ||
* openrset | * openrset | ||
* para2fan | * para2fan | ||
* projective2d | * projective2d | ||
Line 219: | Line 198: | ||
|- | |- | ||
! bug !! bug title !! status | ! bug !! bug title !! status | ||
|- | |- | ||
| {{bug|38087}}|| image package: graycomatrix incompatibilities with matlab || None | | {{bug|38087}}|| image package: graycomatrix incompatibilities with matlab || None | ||
|- | |- | ||
| {{bug|41674}}|| image package: temporary arrays in imresize are doubles || None | | {{bug|41674}}|| image package: temporary arrays in imresize are doubles || None | ||
Line 236: | Line 211: | ||
| {{bug|44831}}|| image package: imrotate - different dimensions of output matrix || Confirmed | | {{bug|44831}}|| image package: imrotate - different dimensions of output matrix || Confirmed | ||
|- | |- | ||
| {{bug|45088}}|| image package: rangefilt requires domain and image to have equal number of dimensions || | | {{bug|45088}}|| image package: rangefilt requires domain and image to have equal number of dimensions || In Progress | ||
|- | |- | ||
| {{bug|46745}}|| image package: imresize default method (bicubic) Matlab incompatible for the border pixels|| None | | {{bug|46745}}|| image package: imresize default method (bicubic) Matlab incompatible for the border pixels|| None | ||
Line 242: | Line 217: | ||
| {{bug|48529}}|| image package: compilation warnings under Mac OSX|| None | | {{bug|48529}}|| image package: compilation warnings under Mac OSX|| None | ||
|- | |- | ||
|- | |- | ||
| {{bug|50151}}|| image package: normxcorr2 is not compatible with Matlab|| None | | {{bug|50151}}|| image package: normxcorr2 is not compatible with Matlab|| None | ||
Line 256: | Line 230: | ||
| {{bug|50656}}|| image package: bwerode does not return right size when there's more dimensions on conn || None | | {{bug|50656}}|| image package: bwerode does not return right size when there's more dimensions on conn || None | ||
|- | |- | ||
| {{bug|50708}}|| image package: add demosaic.m|| Patch Submitted | | {{bug|50708}}|| image package: add demosaic.m || Patch Submitted | ||
|- | |- | ||
| {{bug|50732}} || Image package: infinite error loop when assigning a strel (class) object to a vector|| Confirmed | | {{bug|50732}} || Image package: infinite error loop when assigning a strel (class) object to a vector|| Confirmed | ||
|- | |- | ||
| {{bug|51420}} || [octave forge] (image) imrotate is less tolerant to missing argument than Matlab || None | | {{bug|51420}} || [octave forge] (image) imrotate is less tolerant to missing argument than Matlab || None | ||
Line 275: | Line 245: | ||
|- | |- | ||
| {{bug|51980}} || [octave forge] (image) Failing unit test for edge|| None | | {{bug|51980}} || [octave forge] (image) Failing unit test for edge|| None | ||
|- | |- | ||
| {{bug|52006}} || [octave forge] (image) 'makecform' feature request || Confirmed | | {{bug|52006}} || [octave forge] (image) 'makecform' feature request || Confirmed | ||
Line 286: | Line 252: | ||
| {{bug|52715}} || [octave forge] (image) Add full data range option to ycbcrfunc conversions || None | | {{bug|52715}} || [octave forge] (image) Add full data range option to ycbcrfunc conversions || None | ||
|- | |- | ||
| {{bug| | | {{bug|52959}} || [octave forge] (image) histeq is not compatible with Matlab || None | ||
|- | |- | ||
| {{bug| | | {{bug|55059}} || [octave forge] (image) Failing unit test for grayslice || In Progress | ||
|- | |- | ||
| {{bug| | | {{bug|55202}} || [octave forge] (image) imresize fails for method nearest and image of 1 row || Confirmed | ||
|- | |- | ||
| {{bug| | | {{bug|55373}} || [octave forge] (image) random failure of unit test in imadjust.m || Confirmed | ||
|- | |||
| {{bug|55438}} || [octave forge] (image) Binary input image for edge || None | |||
|- | |||
| {{bug|55521}} || [octave forge] (image) Unit tests for bwpack and bwunpack fail on big endian architectures|| None | |||
|- | |||
| {{bug|56796}} || [octave forge] (image) imtransform changes the contrast of image when using bilinear interpolation || Need Info | |||
|- | |||
| {{bug|56958}} || [Octave-Forge] (image) Implementation of insertText || Confirmed | |||
|- | |||
| {{bug|57504}} || [octave forge] (image) Scaling error for imresize in Image 2.0.0 || None | |||
|- | |||
| {{bug|57822}} || [octave forge] (image) test failures on macOS - imadjust, immse, mean2 || In progress | |||
|- | |||
| {{bug|58684}} || [octave forge] (image) imtranslate produces nonsense for fractional shifts || Confirmed | |||
|- | |- | ||
|} | |} | ||
Line 305: | Line 285: | ||
* {{patch|8571}}: image package: three deconvolution routines (Wiener, RL, RLTV) | * {{patch|8571}}: image package: three deconvolution routines (Wiener, RL, RLTV) | ||
* {{patch|8824}}: added affine2d class | * {{patch|8824}}: added affine2d class | ||
* {{patch|9509}}: Image package: simple implementation of roipoly function | * {{patch|9509}}: Image package: simple implementation of roipoly function | ||
* {{patch|9593}}: [Octave Forge] (Image) New function demosaic.m from bug #50708 | |||
* {{patch|9600}}: [Octave Forge] (Image) New functions: lin2rgb.m and lrgb2lin.m | |||
* {{patch|9602}}: [octave forge] (image) multithresh | |||
* {{patch|9603}}: [Octave Forge] (Image) New functions: xyz2double.m, xyz2single.m, xyz2uint16.m | |||
* {{patch|9717}}: [octave forge] (image) new function imapplymatrix | |||
* {{patch|9729}}: [octave forge] (image) -- rgb2xyz conversion with adapted whitepoint | |||
* {{patch|9730}}: [octave forge] (image) new function imfuse | |||
== Image Processing Functions == | == Image Processing Functions == | ||
Line 353: | Line 333: | ||
| adaptthresh || - || || [http://kyamagu.github.io/mexopencv/matlab/adaptiveThreshold.html cv.adaptiveThreshold] from [https://github.com/kyamagu/mexopencv mexopencv]|| | | adaptthresh || - || || [http://kyamagu.github.io/mexopencv/matlab/adaptiveThreshold.html cv.adaptiveThreshold] from [https://github.com/kyamagu/mexopencv mexopencv]|| | ||
|- | |- | ||
| demosaic || - || {{bug|50708}} || [http://kyamagu.github.io/mexopencv/matlab/demosaicing.html cv.demosaicing] from [https://github.com/kyamagu/mexopencv mexopencv] || | | demosaic || - || {{bug|50708}} {{patch|9593}}|| [http://kyamagu.github.io/mexopencv/matlab/demosaicing.html cv.demosaicing] from [https://github.com/kyamagu/mexopencv mexopencv] || | ||
|- | |- | ||
| gray2ind || function is in Octave core || || || | | gray2ind || function is in Octave core || || || | ||
Line 389: | Line 369: | ||
| mat2gray || < 1.0.0 || || || | | mat2gray || < 1.0.0 || || || | ||
|- | |- | ||
| multithresh || - || || || | | multithresh || - || {{patch|9602}} || || | ||
|- | |- | ||
| otsuthresh || | | otsuthresh || 2.10.0 || || || | ||
|- | |- | ||
| rgb2gray || | | rgb2gray || function is in Octave core || {{bug|53654}} || || Octave version 4.4.0 and above | ||
|- | |- | ||
| rgb2ind || function is in Octave core || || || | | rgb2ind || function is in Octave core || || || | ||
|- | |- | ||
|} | |} | ||
=== Color === | === Color === | ||
Line 406: | Line 384: | ||
|- | |- | ||
! Function !! Octave Package Version !! Related Bugs and Patches !! Alternatives || Notes | ! Function !! Octave Package Version !! Related Bugs and Patches !! Alternatives || Notes | ||
|- | |- | ||
| lab2rgb || - || || || | | colorangle || 2.10.0 || || || | ||
|- | |||
| lab2double || 2.6.0 || || || | |||
|- | |||
| lab2rgb || 2.6.0 || || || | |||
|- | |||
| lab2uint16 || 2.6.0 || || || | |||
|- | |||
| lab2uint8 || 2.6.0 || || || | |||
|- | |||
| lab2xyz || 2.6.0 || || || | |||
|- | |||
| lin2rgb || - || {{patch|9600}} || || | |||
|- | |||
| ntsc2rgb || 2.8.0 || || || | |||
|- | |- | ||
| | | rgb2lab || 2.6.0 || || || | ||
|- | |- | ||
| | | rgb2lin || - || {{patch|9600}} || || | ||
|- | |- | ||
| | | rgb2ntsc || 2.8.0 || || || | ||
|- | |- | ||
| | | rgb2xyz || 2.6.0 || || || | ||
|- | |- | ||
| | | rgb2ycbcr || < 1.0.0|| || || | ||
|- | |- | ||
| | | whitepoint || - || {{patch|8060}} || || | ||
|- | |- | ||
| | | xyz2double || - || {{patch|9603}} || || | ||
|- | |- | ||
| | | xyz2lab || 2.6.0 || || || | ||
|- | |- | ||
| | | xyz2rgb || 2.6.0 || || || | ||
|- | |- | ||
| | | xyz2uint16 || - || {{patch|9603}} || || | ||
|- | |- | ||
| ycbcr2rgb || | | ycbcr2rgb || 2.2.0|| || || | ||
|- | |- | ||
|} | |} | ||
'''Missing:''' ''applycform, chromadapt | '''Missing:''' ''applycform, chromadapt, colorcloud, iccfind, iccread, iccroot, iccwrite, illumgray, illumpca, illumwhite, imapprox, isicc, makecform'' | ||
=== Synthetic Images === | === Synthetic Images === | ||
Line 443: | Line 433: | ||
! Function !! Octave Package Version !! Related Bugs and Patches !! Alternatives || Notes | ! Function !! Octave Package Version !! Related Bugs and Patches !! Alternatives || Notes | ||
|- | |- | ||
| checkerboard || | | checkerboard || 2.2.0 || || || | ||
|- | |- | ||
| imnoise || | | imnoise || 2.2.2 || || || | ||
|- | |- | ||
| phantom || | | phantom || 2.6.2 || || || | ||
|- | |- | ||
|} | |} | ||
Line 477: | Line 467: | ||
| convmtx2 || - || || || | | convmtx2 || - || || || | ||
|- | |- | ||
| entropyfilt || 1.0.9 || | | entropyfilt || 1.0.9 || || || | ||
|- | |- | ||
| fibermetric ||- || || || | | fibermetric ||- || || || | ||
Line 515: | Line 505: | ||
| integralBoxFilter3 ||- || || || | | integralBoxFilter3 ||- || || || | ||
|- | |- | ||
| integralImage || | | integralImage || 2.12.0 || || || | ||
|- | |- | ||
| integralImage3 || | | integralImage3 || 2.12.0 || || || | ||
|- | |- | ||
| medfilt2 || < 1.0.0 || | | medfilt2 || < 1.0.0 || || || | ||
|- | |- | ||
| medfilt3 || - || || || | | medfilt3 || - || || || | ||
Line 527: | Line 517: | ||
| normxcorr2 || 2.0.0 || {{bug|50151}} || || | | normxcorr2 || 2.0.0 || {{bug|50151}} || || | ||
|- | |- | ||
| ordfilt2 || 1.0.9 || | | ordfilt2 || 1.0.9 || || || | ||
|- | |- | ||
| padarray || < 1.0.0 || || || | | padarray || < 1.0.0 || || || | ||
|- | |- | ||
| rangefilt || 1.0.9 || {{bug|45088 | | rangefilt || 1.0.9 || {{bug|45088}} || || | ||
|- | |- | ||
| stdfilt || 1.0.9 || | | stdfilt || 1.0.9 || || || | ||
|- | |- | ||
| wiener2 || | | wiener2 || 2.8.0|| || || | ||
|- | |- | ||
|} | |} | ||
Line 549: | Line 539: | ||
| imadd || 2.0.0 || || || | | imadd || 2.0.0 || || || | ||
|- | |- | ||
| imapplymatrix || - || || || | | imapplymatrix || - || {{patch|9717}} || || | ||
|- | |- | ||
| imcomplement || 1.0.6 || || || | | imcomplement || 1.0.6 || || || | ||
Line 555: | Line 545: | ||
| imdivide || 2.0.0 || || || | | imdivide || 2.0.0 || || || | ||
|- | |- | ||
| imlincomb || 2.0.0 || | | imlincomb || 2.0.0 || || || | ||
|- | |- | ||
| immultiply || 2.0.0 || || || | | immultiply || 2.0.0 || || || | ||
Line 593: | Line 583: | ||
| imerode || < 1.0.0 || || || | | imerode || < 1.0.0 || || || | ||
|- | |- | ||
| imextendedmax || | | imextendedmax || 2.8.0 || || || | ||
|- | |- | ||
| imextendedmin || | | imextendedmin || 2.8.0 || || || | ||
|- | |- | ||
| imfill || 2.6.0 || || || | | imfill || 2.6.0 || || || | ||
|- | |- | ||
| imhmax || | | imhmax || 2.8.0 || || || | ||
|- | |- | ||
| imhmin || | | imhmin || 2.8.0 || || || | ||
|- | |- | ||
| imimposemin || | | imimposemin || 2.8.0 || || || | ||
|- | |- | ||
| imopen || < 1.0.0 || || || | | imopen || < 1.0.0 || || || | ||
Line 625: | Line 615: | ||
|} | |} | ||
[[Category:Octave | === Image Transforms === | ||
{| class="wikitable" style="text-align: center" | |||
|- | |||
! Function !! Octave Package Version !! Related Bugs and Patches !! Alternatives || Notes | |||
|- | |||
| dct2 || || || || | |||
|- | |||
| dctmtx || || || || | |||
|- | |||
| fanbeam || || || || | |||
|- | |||
| fan2para || || || || | |||
|- | |||
| fftshift|| || || || | |||
|- | |||
| fft2 || || || || | |||
|- | |||
| hough || || || || | |||
|- | |||
| houghlines || || || || | |||
|- | |||
| houghpeaks || || || || | |||
|- | |||
|idct2 || || || || | |||
|- | |||
|ifftshift|| || || || | |||
|- | |||
|ifft2|| || || || | |||
|- | |||
|iradon|| || || || | |||
|- | |||
|para2fan|| || || || | |||
|- | |||
|radon|| || || || | |||
|- | |||
|} | |||
=== Graphical Interface Interaction === | |||
{| class="wikitable" style="text-align: center" | |||
|- | |||
! Function !! Octave Package Version !! Related Bugs and Patches !! Alternatives || Notes | |||
|- | |||
| imellipse || - || || || | |||
|- | |||
| imfreehand || - || || || | |||
|- | |||
| imline || - || || || | |||
|- | |||
| immagbox || - || || || | |||
|- | |||
| imoverview || - || || || | |||
|- | |||
| imoverviewpanel || - || || || | |||
|- | |||
| impixelinfo || - || {{patch|8722}} || || | |||
|- | |||
| impixelinfoval || - || {{patch|8722}} || || | |||
|- | |||
| impixelregion || - || || || | |||
|- | |||
| impixelregionpanel || - || || || | |||
|- | |||
| implay || - || || || | |||
|- | |||
| impoint || - || || || | |||
|- | |||
| impoly || - || || || | |||
|- | |||
| imrect || - || || || | |||
|- | |||
| imscrollpanel || - || || || | |||
|- | |||
| iptgetpref || - || || || | |||
|- | |||
| iptprefs || - || || || | |||
|- | |||
| iptsetpref || - || || || | |||
|- | |||
|} | |||
* Obs: implay, iptgetpref, iptprefs, iptsetpref functions are on Basic Display section too... | |||
[[Category:Octave Forge]] | |||
[[Category:Missing functions]] |
edits