Comment exporter des images eps non floues?
Je suis l'exportation d'une image sous Matlab en utilisant le format eps, mais il adoucit l'image. Matlab n'est pas le flou de l'image en utilisant d'autres formats tels que png. Je voudrais savoir comment exporter un non-floues de l'image avec le format eps. Voici l'image obtenue à l'aide de png:
Et voici l'image obtenue à l'aide d'eps:
source d'informationauteur Gorayni
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR:
Le problème est reproductible sur un Mac, et que le problème est avec l'eps convertisseur, plutôt que de MATLAB. Par exemple, l'enregistrement
imagesc(rand(20))
et l'affichage de la Prévisualisation et GSview est la suivante:D'aperçu de capture d'écran
GSview capture d'écran
Clairement, l'information n'est pas perdu. Il n'est pas interprété/lu correctement par quelques EPS de téléspectateurs. La solution est simple: utiliser GSview pour afficher votre
eps
images. Vous pouvez le télécharger à partir iciSur Mac en particulier, si votre application est en latex et pdflatex, vous devez définir explicitement à l'utilisation GS/GSview, parce que sinon, il sera par défaut le moteur de Quartz, qui est ancré dans l'OS.
RÉPONSE PRÉCÉDENTE:
Je suis incapable de reproduire le comportement de votre décrites. Voici le code que j'ai utilisé, testé à l'aide de R2010b sur WinXP 32 bits:
un.png
b.eps
C'est peut-être un problème avec votre EPS viewer...
ne sais pas pourquoi cela fonctionne, mais vous pouvez essayer de faire ce qui suit:
fait le truc pour moi (mac os)
Au début, je pensais que vous faisiez quelque chose de façon incorrecte, mais ensuite je me suis souvenu que c'était un problème qui a été déranger l'enfer hors de moi il y a un an. Je ne pouvais pas trouver un moyen de "réparer" ce type de comportement et de ce que j'ai fait des recherches, c'est probablement un bug et plusieurs autres ont eu ce problème aussi, et il n'y a pas de solution connue. Bien sûr, je peux me tromper sur la dernière partie et il pourrait y avoir des solutions qui sont sortis depuis que j'ai regardé pour eux.
Toute façon, ma solution à ce problème était d'utiliser
pcolor
avecshading flat
au lieu deimagesc
. Lorsque vous exportez à uneps
format il préserve l'image correctement. Exemple:REMARQUE: Vous pourrait voir l'apparence de minces, de la faiblesse des lignes blanches le long de l'anti-diagonales de chaque petit carré (dépend de l'OS & viewer). Ce sont les bords des primitives graphiques qui sont utilisés pour le rendu de l'image. Cependant, ce n'est pas une faille dans MATLAB à l'exportation, mais plutôt une erreur dans le rendu dans votre EPS/PDF viewer. Par exemple, avec les paramètres par défaut dans l'Aperçu sur mon mac, ces lignes se montrer, alors qu'avec la valeur par défaut dans Adobe Reader 9.4, ils n'apparaissent pas.
Si quelqu'un s'est toujours intéressée au une solution: Ouvrez le .eps-fichier avec un éditeur de texte et de la recherche pour "interpoler". Vous trouverez probablement "/Interpoler vrai def" deux ou trois fois. Remplacer "true" par "false" et d'être heureux 🙂
Une note au sujet de Yoda réponse: dans l'Aperçu sous Mac OS X, vous pouvez faire la fine blanche les lignes diagonales dans chacun des carrés disparaissent en décochant "Anti-alias le texte et l'écran de l'art". Bien sûr, l'inconvénient est que tout texte (par exemple, la figure axes, etc) n'est pas d'anti-aliasing. Malheureusement, en décochant l'option qui n'a pas d'effet sur l'effet de flou si vous utilisez imagesc.
Une autre remarque est que si vous utilisez l'aperçu pour créer un fichier pdf à partir de votre eps, le pdf s'affiche toujours correctement (non floue) lorsque vous l'ouvrez dans Acrobat.
J'ai longtemps été aux prises avec ce problème. Jusqu'à présent, GSView est la seule visionneuse j'ai trouvé qui affiche l'eps, les chiffres produits par Matlab (R2015b) correctement. eps2eps ne fonctionne pas pour moi (psutils 1.23).
Le suivant a finalement fonctionné pour moi:
J'ai juste écrit ce simple baisse-dans le remplacement pour
imagesc
. Il ne supporte pas tous mais la plupart des fonctionnalités de base, mais j'ai encore de l'espoir, ça aide.Appliquer opengl rendu à la figure
Le flou dépend en réalité de la des logiciels de rendu de votre application de l'observateur ou de l'imprimante utilise. Pour obtenir de bons résultats tout le temps, faire de chaque pixel de votre image un bloc de 8x8 pixels de la même couleur, c'est à dire redimensionner l'image comme ceci:
Le flou puis affecte uniquement les pixels sur le bord de chaque bloc. Les blocs de 8x8 sont les meilleurs car ils compresser sans vilains artefacts à l'aide de la DCT de compression (parfois utilisé dans les fichiers eps).
Cette page m'a beaucoup aidé: http://tech.mof-mof.co.jp/blog/machine-learning-octave.html (écrit en Japonais, veuillez utiliser google translate pour elle)
Et cela est aussi utile: Octave-Gnuplot-AquaTerm erreur: set terminal aqua amélioré titre "Figure 1"...inconnu type de terminal"
J'ai aussi répondu à https://www.coursera.org/learn/machine-learning/discussions/weeks/2/threads/Dh-aRfqSEeaHSQ6l4xnh6g.
J'ai réinstallé gnuplot comme ceci:
Vous pouvez éditer ~/.octaverc comme ceci:
et dans l'octave de la fenêtre, et après avoir tapé "système de gnuplot", puis
Après avoir enregistré le fichier, ouvrez-octave-de la cli.app, et le type
J'ai eu ce.