How to save an image in this situation quickly without using 'saveas' and 'insertShape'?
Show older comments
I want to generate an image like this. Initially i just have an processed image, then i need to plot mask (the blue one) over the image and save it, by using imshow diplay the image and then plot lines over it, i do get the result.

The problem is, if i use imshow and then plot mask over image, for exporting i must use 'saveas' or 'print', but this is a disaster for lots of high resolution images, it will be exdremely slow.
For this reason i tried the 'insertShape', this function adds lines directly in image matrix, then using 'imwrite' to save image will be much more quicker than 'saveas' or 'print', but here is the problem! you can see 'insertShape' produces wrong and incomplete lines (inside the yellow circle), and this is more serious when i process high resolution image.

So is there a third way to quickly export image with masks? Thanks a lot
4 Comments
Yash Ubale
on 3 Aug 2018
Can I see the "insertShape" command that you are using to create a shape on the image? I tried inserting a shape on an image of size 13000 x 6700. After saving the image using "imwrite" I checked it, looks fine to me.
Tong Wang
on 6 Aug 2018
Walter Roberson
on 7 Aug 2018
Using a large line width creates problems with the caps at every turn because no curvature or bezelling is applied.
DGM
on 12 Sep 2023
This is the same problem as the earlier thread:
Given that this problem only occurs for certain vertex lists, and only seems to occur when multiple polygons are given in a single call to insertShape(), then I would not call this expected behavior.
Answers (0)
Categories
Find more on Image Processing and Computer Vision in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!